{-|
Module      : SimFin.Types.CashFlow
Description : Types to represent a company's cash flow statement.
Copyright   : (c) Owen Shepherd, 2022
License     : MIT
Maintainer  : owen@owen.cafe
-}

{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE FlexibleInstances #-}

module SimFin.Types.CashFlow
  ( GeneralCashFlowRow(..)
  , BankCashFlowRow(..)
  , InsuranceCashFlowRow(..)
  , IndustryCashFlows
  , IndustryCashFlow
  ) where

import Control.Applicative ((<|>))
import Data.Aeson
import Data.Text (Text)
import Data.Time.Calendar (Day)

import SimFin.Types.Industry
import SimFin.Internal


------
-- General
------

-- | Cash flow statement for general companies. 

data GeneralCashFlowRow
  = GeneralCashFlowRow
  { GeneralCashFlowRow -> Int
simFinId :: Int
  , GeneralCashFlowRow -> Text
ticker :: Text
  , GeneralCashFlowRow -> String
fiscalPeriod :: String
  , GeneralCashFlowRow -> Int
fiscalYear :: Int
  , GeneralCashFlowRow -> Day
reportDate :: Day
  , GeneralCashFlowRow -> Day
publishDate :: Day
  , GeneralCashFlowRow -> Day
restatedDate :: Day
  , GeneralCashFlowRow -> Text
source :: Text
  , GeneralCashFlowRow -> Bool
tTM :: Bool
  , GeneralCashFlowRow -> Bool
valueCheck :: Bool
  , GeneralCashFlowRow -> Maybe Integer
netIncomeStartingLine :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netIncome :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netIncomeFromDiscontinuedOperations :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
otherAdjustmensts :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
depreciationAndAmortizatison :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
nonCashItems :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
stockBasedCompensatison :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
deferredIncomeTaxes :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
otherNonCashAdjustments :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
changeInWorkingCapital :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
changeInAccountsReceivable :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
changeInInventories :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
changeInAccountsPayable :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
changeInOther :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netCashFromDiscontinuedOperationsOperating :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netCashFromOpesratingActivities :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
changeInFixedAssetsAndIntsangibles :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
dispositionOfFixedAssetssAndIntangibles :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
dispositionOfFixedAsssets :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
dispositionOfIntangibleAssets :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
acquisitionOfFixedAssetsAndIntangibles :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
purchaseOfFixedAssets :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
acquisitionOfIntangibleAssets :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
otherChangeInFixedAssetsAndIntangibles :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netChangeInLongTermInvestment :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
decreaseInLongTermInvestment :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
increaseInLongTermInvestment :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netCashFromAcquisitionsAndDivestitures :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netCashFromDivestitures :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
cashForAcquisitionOfSubsidiaries :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
cashForJointVentures :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netCashFromOtherAcquisitions :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
otherInvestingActivities :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netCashFromDiscontinuedOperationsInvesting :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netCashFromInvestingActivities :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
dividendsPaid :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
cashFromRepaymentOfDebt :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
cashFromRepaymentOfShortTermDebtNet :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
cashFromRepaymentOfLongTermDebtNet :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
repaymentsOfLongTermDebt :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
cashFromLongTermDebt :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
cashFromRepurchaseOfEquity :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
increaseInCapitalStock :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
decreaseInCapitalStock :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
otherFinancingActivities :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netCashFromDiscontinuedOperationsFinancing :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netCashFromFinancingActivities :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netCashBeforeDiscOperationsAndFX :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
changeInCashFromDiscOperationsAndOther :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netCashBeforeFX :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
effectOfForeignExchangeRates :: Maybe Integer
  , GeneralCashFlowRow -> Maybe Integer
netChangeInCash :: Maybe Integer
  } deriving Int -> GeneralCashFlowRow -> ShowS
[GeneralCashFlowRow] -> ShowS
GeneralCashFlowRow -> String
(Int -> GeneralCashFlowRow -> ShowS)
-> (GeneralCashFlowRow -> String)
-> ([GeneralCashFlowRow] -> ShowS)
-> Show GeneralCashFlowRow
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GeneralCashFlowRow] -> ShowS
$cshowList :: [GeneralCashFlowRow] -> ShowS
show :: GeneralCashFlowRow -> String
$cshow :: GeneralCashFlowRow -> String
showsPrec :: Int -> GeneralCashFlowRow -> ShowS
$cshowsPrec :: Int -> GeneralCashFlowRow -> ShowS
Show

instance FromJSON GeneralCashFlowRow where
  parseJSON :: Value -> Parser GeneralCashFlowRow
parseJSON = String
-> (Object -> Parser GeneralCashFlowRow)
-> Value
-> Parser GeneralCashFlowRow
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"GeneralCashFlowRow" ((Object -> Parser GeneralCashFlowRow)
 -> Value -> Parser GeneralCashFlowRow)
-> (Object -> Parser GeneralCashFlowRow)
-> Value
-> Parser GeneralCashFlowRow
forall a b. (a -> b) -> a -> b
$ \Object
v -> Int
-> Text
-> String
-> Int
-> Day
-> Day
-> Day
-> Text
-> Bool
-> Bool
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> GeneralCashFlowRow
GeneralCashFlowRow
    (Int
 -> Text
 -> String
 -> Int
 -> Day
 -> Day
 -> Day
 -> Text
 -> Bool
 -> Bool
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> GeneralCashFlowRow)
-> Parser Int
-> Parser
     (Text
      -> String
      -> Int
      -> Day
      -> Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"SimFinId"
    Parser
  (Text
   -> String
   -> Int
   -> Day
   -> Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser Text
-> Parser
     (String
      -> Int
      -> Day
      -> Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Ticker"
    Parser
  (String
   -> Int
   -> Day
   -> Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser String
-> Parser
     (Int
      -> Day
      -> Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser String
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Fiscal Period"
    Parser
  (Int
   -> Day
   -> Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser Int
-> Parser
     (Day
      -> Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Fiscal Year"
    Parser
  (Day
   -> Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser Day
-> Parser
     (Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Day
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Report Date"
    Parser
  (Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser Day
-> Parser
     (Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Day
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Publish Date"
    Parser
  (Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser Day
-> Parser
     (Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Day
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Restated Date"
    Parser
  (Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser Text
-> Parser
     (Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Source"
    Parser
  (Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser Bool
-> Parser
     (Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"TTM"
    Parser
  (Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser Bool
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Value Check"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Income/Starting Line"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Income"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Income from Discontinued Operations"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Adjustments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Depreciation & Amortization"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Non-Cash Items"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Stock-Based Compensation"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Deferred Income Taxes"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Non-Cash Adjustments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Working Capital"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Accounts Receivable"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Inventories"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Accounts Payable"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Other"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Discontinued Operations (Operating)"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Operating Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Fixed Assets & Intangibles"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Disposition of Fixed Assets & Intangibles"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Disposition of Fixed Assets"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Disposition of Intangible Assets"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Acquisition of Fixed Assets & Intangibles"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Purchase of Fixed Assets"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Acquisition of Intangible Assets"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Change in Fixed Assets & Intangibles"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Long Term Investment"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Decrease in Long Term Investment"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Increase in Long Term Investment"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Acquisitions & Divestitures"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Divestitures"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash for Acquisition of Subsidiaries"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash for Joint Ventures"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Other Acquisitions"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Investing Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Discontinued Operations (Investing)"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Investing Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Dividends Paid"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from (Repayment of) Debt"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from (Repayment of) Short Term Debt, Net"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from (Repayment of) Long Term Debt, Net"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Repayments of Long Term Debt"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from Long Term Debt"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from (Repurchase of) Equity"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Increase in Capital Stock"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Decrease in Capital Stock"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Financing Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Discontinued Operations (Financing)"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Financing Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash Before Disc. Operations and FX"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer -> Maybe Integer -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Cash from Disc. Operations and Other"
    Parser
  (Maybe Integer
   -> Maybe Integer -> Maybe Integer -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser (Maybe Integer -> Maybe Integer -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash Before FX"
    Parser (Maybe Integer -> Maybe Integer -> GeneralCashFlowRow)
-> Parser (Maybe Integer)
-> Parser (Maybe Integer -> GeneralCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Effect of Foreign Exchange Rates"
    Parser (Maybe Integer -> GeneralCashFlowRow)
-> Parser (Maybe Integer) -> Parser GeneralCashFlowRow
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Cash"

-- | Wrapper to parse a GeneralCashFlowRow record from SimFin's JSON format.

newtype GeneralCashFlowsKeyed = GeneralCashFlowsKeyed { GeneralCashFlowsKeyed -> [GeneralCashFlowRow]
unKeyGeneralCashFlows :: [GeneralCashFlowRow] }

instance FromJSON GeneralCashFlowsKeyed where
  parseJSON :: Value -> Parser GeneralCashFlowsKeyed
parseJSON Value
o = [GeneralCashFlowRow] -> GeneralCashFlowsKeyed
GeneralCashFlowsKeyed ([GeneralCashFlowRow] -> GeneralCashFlowsKeyed)
-> Parser [GeneralCashFlowRow] -> Parser GeneralCashFlowsKeyed
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((Value -> Parser GeneralCashFlowRow)
-> [Value] -> Parser [GeneralCashFlowRow]
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse Value -> Parser GeneralCashFlowRow
forall a. FromJSON a => Value -> Parser a
parseJSON ([Value] -> Parser [GeneralCashFlowRow])
-> Parser [Value] -> Parser [GeneralCashFlowRow]
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Value -> Parser [Value]
createKeyedRows Value
o)


------
-- Bank
------

-- | Cash flow statement for banks. 

data BankCashFlowRow
  = BankCashFlowRow
  { BankCashFlowRow -> Int
simFinId :: Int
  , BankCashFlowRow -> Text
ticker :: Text
  , BankCashFlowRow -> String
fiscalPeriod :: String
  , BankCashFlowRow -> Int
fiscalYear :: Int
  , BankCashFlowRow -> Day
reportDate :: Day
  , BankCashFlowRow -> Day
publishDate :: Day
  , BankCashFlowRow -> Day
restatedDate :: Day
  , BankCashFlowRow -> Text
source :: Text
  , BankCashFlowRow -> Bool
tTM :: Bool
  , BankCashFlowRow -> Bool
valueCheck :: Bool
  , BankCashFlowRow -> Maybe Integer
netIncomeStartingLine :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netIncome :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netIncomeFromDiscontinuedOperations :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
otherAdjustments :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
depreciationAndAmortization :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
provisionForLoanLosses :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
nonCashItems :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
gainOnSaleOfSecuritiesAndLoans :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
deferredIncomeTaxes :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
stockBasedCompensation :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
otherNonCashAdjustments :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
changeInWorkingCapital :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
tradingAssetsAndLiabilities :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeOfInvestments :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeOfInterbankAssets :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeOfInterbankLiabilities :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeInOperatingLoans :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
accruedInterestReceivable :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
accruedInterestPayable :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
otherOperatingAssetsLiabilities :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netCashFromDiscontinuedOperationsOperating :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netCashFromOperatingActivities :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
changeInFixedAssetsAndIntangibles :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
dispositionOfFixedAssetsAndIntangibles :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
capitalExpenditures :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeInInvestments :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
decreaseInInvestments :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
decreaseInHTMInvestments :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
decreaseInAFSInvestments :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
increaseInInvestments :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
increaseInHTMInvestments :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
increaseInAFSInvestments :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeInOtherInvestments :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeInLoansAndInterbank :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeInCustomerLoans :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeInInterbankAssets :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeInOtherLoans :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netCashFromAcquisitionsAndDivestitures :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netCashFromDivestitures :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
cashForAcquisitionOfSubsidiaries :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
cashForJointVentures :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netCashFromOtherAcquisitions :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
otherInvestingActivities :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netCashFromDiscontinuedOperationsInvesting :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netCashFromInvestingActivities :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
dividendsPaid :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
cashFromRepaymentOfDebt :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
cashFromRepaymentOfShortTermDebtNet :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeInInterbankTransfers :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
cashFromRepaymentOfLongTermDebtNet :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
repaymentsOfLongTermDebt :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
cashFromLongTermDebt :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
cashFromRepurchaseOfEquity :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
increaseInCapitalStock :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
decreaseInCapitalStock :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeInDeposits :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
otherFinancingActivities :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netCashFromDiscontinuedOperationsFinancing :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netCashFromFinancingActivities :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netCashBeforeDiscOperationsAndFX :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
changeInCashFromDiscOperationsAndOther :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netCashBeforeFX :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
effectOfForeignExchangeRates :: Maybe Integer
  , BankCashFlowRow -> Maybe Integer
netChangeInCash :: Maybe Integer
  } deriving Int -> BankCashFlowRow -> ShowS
[BankCashFlowRow] -> ShowS
BankCashFlowRow -> String
(Int -> BankCashFlowRow -> ShowS)
-> (BankCashFlowRow -> String)
-> ([BankCashFlowRow] -> ShowS)
-> Show BankCashFlowRow
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [BankCashFlowRow] -> ShowS
$cshowList :: [BankCashFlowRow] -> ShowS
show :: BankCashFlowRow -> String
$cshow :: BankCashFlowRow -> String
showsPrec :: Int -> BankCashFlowRow -> ShowS
$cshowsPrec :: Int -> BankCashFlowRow -> ShowS
Show

instance FromJSON BankCashFlowRow where
  parseJSON :: Value -> Parser BankCashFlowRow
parseJSON = String
-> (Object -> Parser BankCashFlowRow)
-> Value
-> Parser BankCashFlowRow
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"BankCashFlowRow" ((Object -> Parser BankCashFlowRow)
 -> Value -> Parser BankCashFlowRow)
-> (Object -> Parser BankCashFlowRow)
-> Value
-> Parser BankCashFlowRow
forall a b. (a -> b) -> a -> b
$ \Object
v -> Int
-> Text
-> String
-> Int
-> Day
-> Day
-> Day
-> Text
-> Bool
-> Bool
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> BankCashFlowRow
BankCashFlowRow
    (Int
 -> Text
 -> String
 -> Int
 -> Day
 -> Day
 -> Day
 -> Text
 -> Bool
 -> Bool
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> BankCashFlowRow)
-> Parser Int
-> Parser
     (Text
      -> String
      -> Int
      -> Day
      -> Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"SimFinId"
    Parser
  (Text
   -> String
   -> Int
   -> Day
   -> Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser Text
-> Parser
     (String
      -> Int
      -> Day
      -> Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Ticker"
    Parser
  (String
   -> Int
   -> Day
   -> Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser String
-> Parser
     (Int
      -> Day
      -> Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser String
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Fiscal Period"
    Parser
  (Int
   -> Day
   -> Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser Int
-> Parser
     (Day
      -> Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Fiscal Year"
    Parser
  (Day
   -> Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser Day
-> Parser
     (Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Day
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Report Date"
    Parser
  (Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser Day
-> Parser
     (Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Day
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Publish Date"
    Parser
  (Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser Day
-> Parser
     (Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Day
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Restated Date"
    Parser
  (Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser Text
-> Parser
     (Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Source"
    Parser
  (Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser Bool
-> Parser
     (Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"TTM"
    Parser
  (Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser Bool
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Value Check"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Income/Starting Line"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Income"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Income from Discontinued Operations"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Adjustments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Depreciation & Amortization"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Provision for Loan Losses"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Non-Cash Items"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Gain On Sale of Securities & Loans"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Deferred Income Taxes"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Stock-Based Compensation"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Non-Cash Adjustments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Working Capital"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Trading Assets & Liabilities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change of Investments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change of Interbank Assets"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change of Interbank Liabilities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Operating Loans"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Accrued Interest Receivable"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Accrued Interest Payable"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Operating Assets/Liabilities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Discontinued Operations (Operating)"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Operating Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Fixed Assets & Intangibles"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Disposition of Fixed Assets & Intangibles"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Capital Expenditures"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Investments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Decrease in Investments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Decrease in HTM Investments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Decrease in AFS Investments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Increase in Investments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Increase in HTM Investments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Increase in AFS Investments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Other Investments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Loans & Interbank"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Customer Loans"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Interbank Assets"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Other Loans"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Acquisitions & Divestitures"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Divestitures"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash for Acquisition of Subsidiaries"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash for Joint Ventures"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Other Acquisitions"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Investing Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Discontinued Operations (Investing)"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Investing Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Dividends Paid"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from (Repayment of) Debt"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from (Repayment of) Short Term Debt, Net"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Interbank Transfers"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from (Repayment of) Long Term Debt, Net"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Repayments of Long Term Debt"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from Long Term Debt"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from (Repurchase of) Equity"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Increase in Capital Stock"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Decrease in Capital Stock"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change In Deposits"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Financing Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Discontinued Operations (Financing)"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Financing Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash Before Disc. Operations and FX"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer -> Maybe Integer -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Cash from Disc. Operations and Other"
    Parser
  (Maybe Integer
   -> Maybe Integer -> Maybe Integer -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser (Maybe Integer -> Maybe Integer -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash Before FX"
    Parser (Maybe Integer -> Maybe Integer -> BankCashFlowRow)
-> Parser (Maybe Integer)
-> Parser (Maybe Integer -> BankCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Effect of Foreign Exchange Rates"
    Parser (Maybe Integer -> BankCashFlowRow)
-> Parser (Maybe Integer) -> Parser BankCashFlowRow
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Cash"

-- | Wrapper to parse a BankCashFlowRow record from SimFin's JSON format.

newtype BankCashFlowsKeyed = BankCashFlowsKeyed { BankCashFlowsKeyed -> [BankCashFlowRow]
unKeyBankCashFlows :: [BankCashFlowRow] }

instance FromJSON BankCashFlowsKeyed where
  parseJSON :: Value -> Parser BankCashFlowsKeyed
parseJSON Value
o = [BankCashFlowRow] -> BankCashFlowsKeyed
BankCashFlowsKeyed ([BankCashFlowRow] -> BankCashFlowsKeyed)
-> Parser [BankCashFlowRow] -> Parser BankCashFlowsKeyed
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((Value -> Parser BankCashFlowRow)
-> [Value] -> Parser [BankCashFlowRow]
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse Value -> Parser BankCashFlowRow
forall a. FromJSON a => Value -> Parser a
parseJSON ([Value] -> Parser [BankCashFlowRow])
-> Parser [Value] -> Parser [BankCashFlowRow]
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Value -> Parser [Value]
createKeyedRows Value
o)


------
-- Insurance
------

-- | Cash flow statement for Insurance companies. 

data InsuranceCashFlowRow
  = InsuranceCashFlowRow
  { InsuranceCashFlowRow -> Int
simFinId :: Int
  , InsuranceCashFlowRow -> Text
ticker :: Text
  , InsuranceCashFlowRow -> String
fiscalPeriod :: String
  , InsuranceCashFlowRow -> Int
fiscalYear :: Int
  , InsuranceCashFlowRow -> Day
reportDate :: Day
  , InsuranceCashFlowRow -> Day
publishDate :: Day
  , InsuranceCashFlowRow -> Day
restatedDate :: Day
  , InsuranceCashFlowRow -> Text
source :: Text
  , InsuranceCashFlowRow -> Bool
tTM :: Bool
  , InsuranceCashFlowRow -> Bool
valueCheck :: Bool
  , InsuranceCashFlowRow -> Maybe Integer
netIncomeStartingLine :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
netIncome :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
netIncomeFromDiscontinuedOperations :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
otherAdjustments :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
depreciationAndAmortization :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
nonCashItems :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
stockBasedCompensation :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
deferredIncomeTaxes :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
otherNonCashAdjustments :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
changeInWorkingCapital :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
netCashFromDiscontinuedOperationsOperating :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
netCashFromOperatingActivities :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
changeInFixedAssetsAndIntangibles :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
dispositionOfFixedAssetsAndIntangibles :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
acquisitionOfFixedAssetsAndIntangibles :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
netChangeInInvestments :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
increaseInInvestments :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
decreaseInInvestments :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
otherInvestingActivities :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
netCashFromDiscontinuedOperationsInvesting :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
netCashFromInvestingActivities :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
dividendsPaid :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
cashFromRepaymentOfDebt :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
cashFromRepaymentOfShortTermDebtNet :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
cashFromRepaymentOfLongTermDebtNet :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
repaymentsOfLongTermDebt :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
cashFromLongTermDebt :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
cashFromRepurchaseOfEquity :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
increaseInCapitalStock :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
decreaseInCapitalStock :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
changeInInsuranceReserves :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
otherFinancingActivities :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
netCashFromDiscontinuedOperationsFinancing :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
netCashFromFinancingActivities :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
netCashBeforeDiscOperationsAndFX :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
changeInCashFromDiscOperationsAndOther :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
netCashBeforeFX :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
effectOfForeignExchangeRates :: Maybe Integer
  , InsuranceCashFlowRow -> Maybe Integer
netChangeInCash :: Maybe Integer
  } deriving Int -> InsuranceCashFlowRow -> ShowS
[InsuranceCashFlowRow] -> ShowS
InsuranceCashFlowRow -> String
(Int -> InsuranceCashFlowRow -> ShowS)
-> (InsuranceCashFlowRow -> String)
-> ([InsuranceCashFlowRow] -> ShowS)
-> Show InsuranceCashFlowRow
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InsuranceCashFlowRow] -> ShowS
$cshowList :: [InsuranceCashFlowRow] -> ShowS
show :: InsuranceCashFlowRow -> String
$cshow :: InsuranceCashFlowRow -> String
showsPrec :: Int -> InsuranceCashFlowRow -> ShowS
$cshowsPrec :: Int -> InsuranceCashFlowRow -> ShowS
Show

instance FromJSON InsuranceCashFlowRow where
  parseJSON :: Value -> Parser InsuranceCashFlowRow
parseJSON = String
-> (Object -> Parser InsuranceCashFlowRow)
-> Value
-> Parser InsuranceCashFlowRow
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject String
"InsuranceCashFlowRow" ((Object -> Parser InsuranceCashFlowRow)
 -> Value -> Parser InsuranceCashFlowRow)
-> (Object -> Parser InsuranceCashFlowRow)
-> Value
-> Parser InsuranceCashFlowRow
forall a b. (a -> b) -> a -> b
$ \Object
v -> Int
-> Text
-> String
-> Int
-> Day
-> Day
-> Day
-> Text
-> Bool
-> Bool
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> InsuranceCashFlowRow
InsuranceCashFlowRow
    (Int
 -> Text
 -> String
 -> Int
 -> Day
 -> Day
 -> Day
 -> Text
 -> Bool
 -> Bool
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> Maybe Integer
 -> InsuranceCashFlowRow)
-> Parser Int
-> Parser
     (Text
      -> String
      -> Int
      -> Day
      -> Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
v Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"SimFinId"
    Parser
  (Text
   -> String
   -> Int
   -> Day
   -> Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser Text
-> Parser
     (String
      -> Int
      -> Day
      -> Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Ticker"
    Parser
  (String
   -> Int
   -> Day
   -> Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser String
-> Parser
     (Int
      -> Day
      -> Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser String
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Fiscal Period"
    Parser
  (Int
   -> Day
   -> Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser Int
-> Parser
     (Day
      -> Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Fiscal Year"
    Parser
  (Day
   -> Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser Day
-> Parser
     (Day
      -> Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Day
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Report Date"
    Parser
  (Day
   -> Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser Day
-> Parser
     (Day
      -> Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Day
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Publish Date"
    Parser
  (Day
   -> Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser Day
-> Parser
     (Text
      -> Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Day
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Restated Date"
    Parser
  (Text
   -> Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser Text
-> Parser
     (Bool
      -> Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Source"
    Parser
  (Bool
   -> Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser Bool
-> Parser
     (Bool
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"TTM"
    Parser
  (Bool
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser Bool
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Value Check"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Income/Starting Line"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Income"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Income from Discontinued Operations"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Adjustments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Depreciation & Amortization"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Non-Cash Items"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Stock-Based Compensation"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Deferred Income Taxes"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Non-Cash Adjustments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Working Capital"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Discontinued Operations (Operating)"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Operating Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Fixed Assets & Intangibles"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Disposition of Fixed Assets & Intangibles"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Acquisition of Fixed Assets & Intangibles"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Investments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Increase in Investments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Decrease in Investments"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Investing Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Discontinued Operations (Investing)"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Investing Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Dividends Paid"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from (Repayment of) Debt"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from (Repayment of) Short Term Debt, Net"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from (Repayment of) Long Term Debt, Net"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Repayments of Long Term Debt"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from Long Term Debt"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Cash from (Repurchase of) Equity"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Increase in Capital Stock"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Decrease in Capital Stock"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Insurance Reserves"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Other Financing Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Discontinued Operations (Financing)"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash from Financing Activities"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> Maybe Integer
      -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash Before Disc. Operations and FX"
    Parser
  (Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> Maybe Integer
   -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser
     (Maybe Integer
      -> Maybe Integer -> Maybe Integer -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Change in Cash from Disc. Operations and Other"
    Parser
  (Maybe Integer
   -> Maybe Integer -> Maybe Integer -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser (Maybe Integer -> Maybe Integer -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Cash Before FX"
    Parser (Maybe Integer -> Maybe Integer -> InsuranceCashFlowRow)
-> Parser (Maybe Integer)
-> Parser (Maybe Integer -> InsuranceCashFlowRow)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Effect of Foreign Exchange Rates"
    Parser (Maybe Integer -> InsuranceCashFlowRow)
-> Parser (Maybe Integer) -> Parser InsuranceCashFlowRow
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
v Object -> Text -> Parser (Maybe Integer)
forall a. FromJSON a => Object -> Text -> Parser a
.: Text
"Net Change in Cash"

-- | Wrapper to parse an InsuranceCashFlowRow record from SimFin's JSON format.

newtype InsuranceCashFlowsKeyed = InsuranceCashFlowsKeyed { InsuranceCashFlowsKeyed -> [InsuranceCashFlowRow]
unKeyInsuranceCashFlows :: [InsuranceCashFlowRow] }

instance FromJSON InsuranceCashFlowsKeyed where
  parseJSON :: Value -> Parser InsuranceCashFlowsKeyed
parseJSON Value
o = [InsuranceCashFlowRow] -> InsuranceCashFlowsKeyed
InsuranceCashFlowsKeyed ([InsuranceCashFlowRow] -> InsuranceCashFlowsKeyed)
-> Parser [InsuranceCashFlowRow] -> Parser InsuranceCashFlowsKeyed
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((Value -> Parser InsuranceCashFlowRow)
-> [Value] -> Parser [InsuranceCashFlowRow]
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse Value -> Parser InsuranceCashFlowRow
forall a. FromJSON a => Value -> Parser a
parseJSON ([Value] -> Parser [InsuranceCashFlowRow])
-> Parser [Value] -> Parser [InsuranceCashFlowRow]
forall (m :: * -> *) a b. Monad m => (a -> m b) -> m a -> m b
=<< Value -> Parser [Value]
createKeyedRows Value
o)


------
-- Industry
------

type IndustryCashFlowsKeyed
  = Industry GeneralCashFlowsKeyed BankCashFlowsKeyed InsuranceCashFlowsKeyed

-- | Discrimination of cash flow lists.

type IndustryCashFlows
  = Industry [GeneralCashFlowRow] [BankCashFlowRow] [InsuranceCashFlowRow]

-- | Discrimination of cash flows.

type IndustryCashFlow
  = Industry GeneralCashFlowRow BankCashFlowRow InsuranceCashFlowRow

instance FromJSON IndustryCashFlowsKeyed where
  parseJSON :: Value -> Parser IndustryCashFlowsKeyed
parseJSON Value
root = InsuranceCashFlowsKeyed -> IndustryCashFlowsKeyed
forall general bank insurance.
insurance -> Industry general bank insurance
Insurance (InsuranceCashFlowsKeyed -> IndustryCashFlowsKeyed)
-> Parser InsuranceCashFlowsKeyed -> Parser IndustryCashFlowsKeyed
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser InsuranceCashFlowsKeyed
forall a. FromJSON a => Value -> Parser a
parseJSON Value
root
    Parser IndustryCashFlowsKeyed
-> Parser IndustryCashFlowsKeyed -> Parser IndustryCashFlowsKeyed
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
<|> BankCashFlowsKeyed -> IndustryCashFlowsKeyed
forall general bank insurance.
bank -> Industry general bank insurance
Bank (BankCashFlowsKeyed -> IndustryCashFlowsKeyed)
-> Parser BankCashFlowsKeyed -> Parser IndustryCashFlowsKeyed
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser BankCashFlowsKeyed
forall a. FromJSON a => Value -> Parser a
parseJSON Value
root
    Parser IndustryCashFlowsKeyed
-> Parser IndustryCashFlowsKeyed -> Parser IndustryCashFlowsKeyed
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
<|> GeneralCashFlowsKeyed -> IndustryCashFlowsKeyed
forall general bank insurance.
general -> Industry general bank insurance
General (GeneralCashFlowsKeyed -> IndustryCashFlowsKeyed)
-> Parser GeneralCashFlowsKeyed -> Parser IndustryCashFlowsKeyed
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser GeneralCashFlowsKeyed
forall a. FromJSON a => Value -> Parser a
parseJSON Value
root

unKeyIndustryCashFlows :: IndustryCashFlowsKeyed -> IndustryCashFlows
unKeyIndustryCashFlows :: IndustryCashFlowsKeyed -> IndustryCashFlows
unKeyIndustryCashFlows = (GeneralCashFlowsKeyed -> [GeneralCashFlowRow])
-> (BankCashFlowsKeyed -> [BankCashFlowRow])
-> (InsuranceCashFlowsKeyed -> [InsuranceCashFlowRow])
-> IndustryCashFlowsKeyed
-> IndustryCashFlows
forall a a' b b' c c'.
(a -> a')
-> (b -> b') -> (c -> c') -> Industry a b c -> Industry a' b' c'
mapIndustry
  GeneralCashFlowsKeyed -> [GeneralCashFlowRow]
unKeyGeneralCashFlows
  BankCashFlowsKeyed -> [BankCashFlowRow]
unKeyBankCashFlows
  InsuranceCashFlowsKeyed -> [InsuranceCashFlowRow]
unKeyInsuranceCashFlows

instance FromJSON IndustryCashFlows where
  parseJSON :: Value -> Parser IndustryCashFlows
parseJSON Value
root = IndustryCashFlowsKeyed -> IndustryCashFlows
unKeyIndustryCashFlows (IndustryCashFlowsKeyed -> IndustryCashFlows)
-> Parser IndustryCashFlowsKeyed -> Parser IndustryCashFlows
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Value -> Parser IndustryCashFlowsKeyed
forall a. FromJSON a => Value -> Parser a
parseJSON Value
root