haskell-src-exts 1.20.3 → 1.24.0
raw patch · 155 files changed
Files
- CHANGELOG +45/−0
- README.md +10/−0
- dist/build/Language/Haskell/Exts/InternalParser.hs +0/−11289
- haskell-src-exts.cabal +9/−14
- src/Language/Haskell/Exts.hs +3/−1
- src/Language/Haskell/Exts/Build.hs +2/−0
- src/Language/Haskell/Exts/Comments.hs +2/−1
- src/Language/Haskell/Exts/ExactPrint.hs +81/−85
- src/Language/Haskell/Exts/ExtScheme.hs +2/−0
- src/Language/Haskell/Exts/Extension.hs +21/−2
- src/Language/Haskell/Exts/Fixity.hs +16/−13
- src/Language/Haskell/Exts/InternalLexer.hs +74/−27
- src/Language/Haskell/Exts/InternalParser.ly +194/−118
- src/Language/Haskell/Exts/Lexer.hs +2/−0
- src/Language/Haskell/Exts/ParseMonad.hs +13/−7
- src/Language/Haskell/Exts/ParseSyntax.hs +12/−15
- src/Language/Haskell/Exts/ParseUtils.hs +43/−63
- src/Language/Haskell/Exts/Parser.hs +1/−0
- src/Language/Haskell/Exts/Pretty.hs +53/−35
- src/Language/Haskell/Exts/SrcLoc.hs +6/−2
- src/Language/Haskell/Exts/Syntax.hs +56/−62
- src/Language/Preprocessor/Unlit.hs +13/−13
- tests/Extensions.hs +19/−1
- tests/Runner.hs +3/−1
- tests/examples/AmbiguousFixities.hs.exactprinter.golden +1/−1
- tests/examples/AmbiguousFixities.hs.prettyparser.golden +1/−1
- tests/examples/AmbiguousFixities.hs.prettyprinter.golden +1/−1
- tests/examples/ArrowBrackets.hs +8/−0
- tests/examples/ArrowBrackets.hs.exactprinter.golden +1/−0
- tests/examples/ArrowBrackets.hs.parser.golden +541/−0
- tests/examples/ArrowBrackets.hs.prettyparser.golden +1/−0
- tests/examples/ArrowBrackets.hs.prettyprinter.golden +7/−0
- tests/examples/BlockArguments.hs +16/−0
- tests/examples/BlockArguments.hs.exactprinter.golden +1/−0
- tests/examples/BlockArguments.hs.parser.golden +1099/−0
- tests/examples/BlockArguments.hs.prettyparser.golden +10/−0
- tests/examples/BlockArguments.hs.prettyprinter.golden +15/−0
- tests/examples/BracketInstanceHead.hs.parser.golden +34/−21
- tests/examples/ClassContext.hs.parser.golden +65/−52
- tests/examples/ConstraintKinds.hs.parser.golden +54/−34
- tests/examples/ConstraintKinds2.hs.parser.golden +14/−6
- tests/examples/ConstraintKinds3.hs.parser.golden +33/−19
- tests/examples/ConstructorAndClassOperators.hs.parser.golden +83/−39
- tests/examples/ContextOrdering.hs.parser.golden +48/−31
- tests/examples/CxtWhitespace.hs.parser.golden +90/−55
- tests/examples/DataKinds.hs.parser.golden +29/−42
- tests/examples/DefaultSignatures.hs.parser.golden +34/−20
- tests/examples/DerivingStrategies.hs.parser.golden +68/−42
- tests/examples/DerivingVia.hs +459/−0
- tests/examples/DerivingVia.hs.exactprinter.golden +460/−0
- tests/examples/DerivingVia.hs.parser.golden +32882/−0
- tests/examples/DerivingVia.hs.prettyparser.golden +1/−0
- tests/examples/DerivingVia.hs.prettyprinter.golden +418/−0
- tests/examples/DerivingVia2.hs +41/−0
- tests/examples/DerivingVia2.hs.exactprinter.golden +42/−0
- tests/examples/DerivingVia2.hs.parser.golden +2346/−0
- tests/examples/DerivingVia2.hs.prettyparser.golden +1/−0
- tests/examples/DerivingVia2.hs.prettyprinter.golden +47/−0
- tests/examples/DerivingViaStealing.hs +5/−0
- tests/examples/DerivingViaStealing.hs.exactprinter.golden +1/−0
- tests/examples/DerivingViaStealing.hs.parser.golden +201/−0
- tests/examples/DerivingViaStealing.hs.prettyparser.golden +1/−0
- tests/examples/DerivingViaStealing.hs.prettyprinter.golden +4/−0
- tests/examples/Directory.hs.parser.golden +66/−31
- tests/examples/DsStrictData.hs.parser.golden +4/−0
- tests/examples/EqualityConstraints1.hs.parser.golden +31/−18
- tests/examples/FamilyKindSig.hs.parser.golden +3/−3
- tests/examples/Fixity3.hs.parser.golden +34/−20
- tests/examples/FlexibleContextsWithoutVars.hs.parser.golden +23/−14
- tests/examples/ForallInInstance.hs.parser.golden +34/−21
- tests/examples/GADTRecord.hs.parser.golden +2/−0
- tests/examples/GADTRecord2.hs +4/−0
- tests/examples/GADTRecord2.hs.exactprinter.golden +1/−0
- tests/examples/GADTRecord2.hs.parser.golden +137/−0
- tests/examples/GADTRecord2.hs.prettyparser.golden +1/−0
- tests/examples/GADTRecord2.hs.prettyprinter.golden +4/−0
- tests/examples/GadtDeriving.hs.parser.golden +2/−0
- tests/examples/GadtRecordFields.hs.parser.golden +4/−0
- tests/examples/GadtStrictness.hs.parser.golden +2/−0
- tests/examples/GenericTree.hs.parser.golden +62/−38
- tests/examples/ImportQualifiedPost.hs +4/−0
- tests/examples/ImportQualifiedPost.hs.exactprinter.golden +1/−0
- tests/examples/ImportQualifiedPost.hs.parser.golden +89/−0
- tests/examples/ImportQualifiedPost.hs.prettyparser.golden +1/−0
- tests/examples/ImportQualifiedPost.hs.prettyprinter.golden +3/−0
- tests/examples/InfixTypeMinus.hs.parser.golden +210/−162
- tests/examples/InjectiveTypeFamilies.hs.parser.golden +107/−196
- tests/examples/MultiCtxt.hs.parser.golden +63/−38
- tests/examples/MultiParam.hs.parser.golden +48/−30
- tests/examples/NoStartNumIdents.hs +1/−0
- tests/examples/NoStartNumIdents.hs.exactprinter.golden +1/−0
- tests/examples/NoStartNumIdents.hs.parser.golden +3/−0
- tests/examples/NoStartNumIdents.hs.prettyparser.golden +1/−0
- tests/examples/NoStartNumIdents.hs.prettyprinter.golden +1/−0
- tests/examples/OverloadedLabels.hs.parser.golden +55/−35
- tests/examples/PartialSignatures.hs.parser.golden +461/−249
- tests/examples/PatternSynonymSignatures.hs.parser.golden +185/−105
- tests/examples/PatternSynonyms3.hs.parser.golden +165/−111
- tests/examples/PolyKindSigs.hs.parser.golden +5/−3
- tests/examples/PromotedSpace.hs +20/−0
- tests/examples/PromotedSpace.hs.exactprinter.golden +1/−0
- tests/examples/PromotedSpace.hs.parser.golden +617/−0
- tests/examples/PromotedSpace.hs.prettyparser.golden +1/−0
- tests/examples/PromotedSpace.hs.prettyprinter.golden +14/−0
- tests/examples/QuantifiedConstraints.hs +4/−0
- tests/examples/QuantifiedConstraints.hs.exactprinter.golden +1/−0
- tests/examples/QuantifiedConstraints.hs.parser.golden +222/−0
- tests/examples/QuantifiedConstraints.hs.prettyparser.golden +1/−0
- tests/examples/QuantifiedConstraints.hs.prettyprinter.golden +4/−0
- tests/examples/RCategory.hs.parser.golden +1922/−1644
- tests/examples/RCategory2.hs.parser.golden +1/−1
- tests/examples/ScopedTypeVariables.hs.parser.golden +34/−21
- tests/examples/SingleClassAsst.hs.parser.golden +31/−20
- tests/examples/SpecializeInstance.hs.parser.golden +34/−21
- tests/examples/SpecializePhaseControl.hs.parser.golden +127/−80
- tests/examples/T11727.hs.parser.golden +1/−0
- tests/examples/T326.hs +4/−0
- tests/examples/T326.hs.exactprinter.golden +1/−0
- tests/examples/T326.hs.parser.golden +116/−0
- tests/examples/T326.hs.prettyparser.golden +1/−0
- tests/examples/T326.hs.prettyprinter.golden +3/−0
- tests/examples/THTypedSplices.hs +6/−0
- tests/examples/THTypedSplices.hs.exactprinter.golden +7/−0
- tests/examples/THTypedSplices.hs.parser.golden +177/−0
- tests/examples/THTypedSplices.hs.prettyparser.golden +1/−0
- tests/examples/THTypedSplices.hs.prettyprinter.golden +4/−0
- tests/examples/TemplateHaskellQuotedNames.hs +3/−0
- tests/examples/TemplateHaskellQuotedNames.hs.exactprinter.golden +1/−0
- tests/examples/TemplateHaskellQuotedNames.hs.parser.golden +246/−0
- tests/examples/TemplateHaskellQuotedNames.hs.prettyparser.golden +1/−0
- tests/examples/TemplateHaskellQuotedNames.hs.prettyprinter.golden +3/−0
- tests/examples/TypeEqualityParen.hs.parser.golden +53/−35
- tests/examples/TypeFunctions.hs.parser.golden +4/−4
- tests/examples/TypeInstances.hs.parser.golden +2/−2
- tests/examples/TypeOperatorsTest.hs.parser.golden +49/−36
- tests/examples/Unicode.hs.parser.golden +54/−36
- tests/examples/UnicodeIdents.hs +2/−0
- tests/examples/UnicodeIdents.hs.exactprinter.golden +1/−0
- tests/examples/UnicodeIdents.hs.parser.golden +155/−0
- tests/examples/UnicodeIdents.hs.prettyparser.golden +1/−0
- tests/examples/UnicodeIdents.hs.prettyprinter.golden +2/−0
- tests/examples/Unpack.hs.parser.golden +2/−0
- tests/examples/Vta1.hs.parser.golden +113/−86
- tests/examples/completesig01.hs.parser.golden +1/−0
- tests/examples/t402.hs +0/−13
- tests/examples/t403.hs +9/−0
- tests/examples/t403.hs.exactprinter.golden +10/−0
- tests/examples/t403.hs.parser.golden +520/−0
- tests/examples/t403.hs.prettyparser.golden +1/−0
- tests/examples/t403.hs.prettyprinter.golden +11/−0
- tests/examples/t412.hs +8/−0
- tests/examples/t412.hs.exactprinter.golden +1/−0
- tests/examples/t412.hs.parser.golden +166/−0
- tests/examples/t412.hs.prettyparser.golden +1/−0
- tests/examples/t412.hs.prettyprinter.golden +5/−0
CHANGELOG view
@@ -1,3 +1,48 @@+1.23.1 --> 1.24.0+=================+* Support ImportQualifiedPost (#477)+ - Technically breaking change: KnownExtension gained a new constructor ImportQualifiedPost+* Fix pretty printing of promoted list/tuple with space padding (#423)+* Fix lexing of operator symbols like @: when TypeApplications is enabled (#430)+* Read files strictly before closing to prevent resource leaks (#460)+* Add Safe Haskell annotations to many modules (#465)+* Remove noncanonical return and mappend definitions (#481)+* Solve some compiler warnings (#464)+* Performance optimization: use strict accumulators in lexString and parseInteger (#479)+++1.23.0 --> 1.23.1+=================+* show instance for SrcLoc and SrcSpan renders "(-1)" instead of "-1"+* Allow empty closed type families (#452)+++1.22.0 --> 1.23.0+=================+* Add support for BlockArguments (#444)+ - Technically breaking change: KnownExtension gained a new constructor BlockArguments+* Add support for Arrow Brackets (#445)+ - Tecnically breaking change: Exp gained new constructor ArrOp++1.21.1 --> 1.22.0+=================+* Support QuantifiedConstraints (#427)+ - Breaking change: constructors for PAsst changed+ - Technically breaking change: KnownExtention gained a new constructor QuantifiedConstraints+* Support Template Haskell typed splices and quotations (#432)+ - Breaking change: new constructors on Token data type+* Fix unicode identifier parsing (#442)++1.21.0 --> 1.21.1+=================+* GHC 8.8.1 compatibility (MonadFail)++1.20.3 --> 1.21.0+=================+* DerivingVia (#420)+* TypeInType (#414)+* Parse TH-quoted list constructor (#415)+ 1.20.2 --> 1.20.3 ================= * GHC 8.6.1 compatability (MonadFail)
README.md view
@@ -36,3 +36,13 @@ derives from several sources, all of which are distributable under BSD-style or compatible licenses. See the file LICENSE for the complete license text.+++Maintenance+--------------++Dan Burton is currently keeping haskell-src-exts on life support.+If you are interested in more actively making improvements to this package,+please make your interests known.++You might want to try [ghc-lib-parser](http://hackage.haskell.org/package/ghc-lib-parser) instead.
− dist/build/Language/Haskell/Exts/InternalParser.hs
@@ -1,11289 +0,0 @@-{-# OPTIONS_GHC -w #-}-{-# OPTIONS -XMagicHash -XBangPatterns -XTypeSynonymInstances -XFlexibleInstances -cpp #-}-#if __GLASGOW_HASKELL__ >= 710-{-# OPTIONS_GHC -XPartialTypeSignatures #-}-#endif-{-# LANGUAGE CPP #-}-{-# OPTIONS_HADDOCK hide #-}--------------------------------------------------------------------------------- |--- Module : Language.Haskell.Exts.Annotated.Parser--- Copyright : (c) Niklas Broberg 2004-2009,--- Original (c) Simon Marlow, Sven Panne 1997-2000--- License : BSD-style (see the file LICENSE.txt)------ Maintainer : Niklas Broberg, d00nibro@chalmers.se--- Stability : stable--- Portability : portable-------------------------------------------------------------------------------------module Language.Haskell.Exts.InternalParser (- mparseModule,- mparseExp,- mparsePat,- mparseDecl,- mparseType,- mparseStmt,- mparseImportDecl,- ngparseModulePragmas,- ngparseModuleHeadAndImports,- ngparsePragmasAndModuleHead,- ngparsePragmasAndModuleName- ) where-import Language.Haskell.Exts.Syntax hiding ( Type(..), Exp(..), Asst(..), XAttr(..), FieldUpdate(..) )-import Language.Haskell.Exts.Syntax ( Type, Exp, Asst )-import Language.Haskell.Exts.ParseMonad-import Language.Haskell.Exts.InternalLexer-import Language.Haskell.Exts.ParseUtils-import Language.Haskell.Exts.Fixity-import Language.Haskell.Exts.SrcLoc-import Language.Haskell.Exts.Extension--import Control.Monad ( liftM, (<=<), when )-import Control.Applicative ( (<$>) )-import Data.Maybe-#if MIN_VERSION_base(4,11,0)-import Prelude hiding ((<>))-#endif-import qualified Data.Array as Happy_Data_Array-import qualified Data.Bits as Bits-import qualified GHC.Exts as Happy_GHC_Exts-import Control.Applicative(Applicative(..))-import Control.Monad (ap)---- parser produced by Happy Version 1.19.9--newtype HappyAbsSyn = HappyAbsSyn HappyAny-#if __GLASGOW_HASKELL__ >= 607-type HappyAny = Happy_GHC_Exts.Any-#else-type HappyAny = forall a . a-#endif-happyIn14 :: ([Module L]) -> (HappyAbsSyn )-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn14 #-}-happyOut14 :: (HappyAbsSyn ) -> ([Module L])-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut14 #-}-happyIn15 :: ([[ModulePragma L] -> [S] -> L -> Module L]) -> (HappyAbsSyn )-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn15 #-}-happyOut15 :: (HappyAbsSyn ) -> ([[ModulePragma L] -> [S] -> L -> Module L])-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut15 #-}-happyIn16 :: (Module L) -> (HappyAbsSyn )-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn16 #-}-happyOut16 :: (HappyAbsSyn ) -> (Module L)-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut16 #-}-happyIn17 :: (PExp L) -> (HappyAbsSyn )-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn17 #-}-happyOut17 :: (HappyAbsSyn ) -> (PExp L)-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut17 #-}-happyIn18 :: (([ModulePragma L],[S],L)) -> (HappyAbsSyn )-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn18 #-}-happyOut18 :: (HappyAbsSyn ) -> (([ModulePragma L],[S],L))-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut18 #-}-happyIn19 :: (([ModulePragma L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn19 #-}-happyOut19 :: (HappyAbsSyn ) -> (([ModulePragma L],[S],Maybe L))-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut19 #-}-happyIn20 :: (ModulePragma L) -> (HappyAbsSyn )-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn20 #-}-happyOut20 :: (HappyAbsSyn ) -> (ModulePragma L)-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut20 #-}-happyIn21 :: (([Name L],[S])) -> (HappyAbsSyn )-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn21 #-}-happyOut21 :: (HappyAbsSyn ) -> (([Name L],[S]))-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut21 #-}-happyIn22 :: ([ModulePragma L] -> [S] -> L -> Module L) -> (HappyAbsSyn )-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn22 #-}-happyOut22 :: (HappyAbsSyn ) -> ([ModulePragma L] -> [S] -> L -> Module L)-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut22 #-}-happyIn23 :: (Maybe (ModuleHead L)) -> (HappyAbsSyn )-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn23 #-}-happyOut23 :: (HappyAbsSyn ) -> (Maybe (ModuleHead L))-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut23 #-}-happyIn24 :: (Maybe (WarningText L)) -> (HappyAbsSyn )-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn24 #-}-happyOut24 :: (HappyAbsSyn ) -> (Maybe (WarningText L))-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut24 #-}-happyIn25 :: (([ImportDecl L],[Decl L],[S],L)) -> (HappyAbsSyn )-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn25 #-}-happyOut25 :: (HappyAbsSyn ) -> (([ImportDecl L],[Decl L],[S],L))-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut25 #-}-happyIn26 :: (([ImportDecl L],[Decl L],[S])) -> (HappyAbsSyn )-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn26 #-}-happyOut26 :: (HappyAbsSyn ) -> (([ImportDecl L],[Decl L],[S]))-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut26 #-}-happyIn27 :: ([S]) -> (HappyAbsSyn )-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn27 #-}-happyOut27 :: (HappyAbsSyn ) -> ([S])-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut27 #-}-happyIn28 :: ([S]) -> (HappyAbsSyn )-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn28 #-}-happyOut28 :: (HappyAbsSyn ) -> ([S])-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut28 #-}-happyIn29 :: (Maybe (ExportSpecList L)) -> (HappyAbsSyn )-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn29 #-}-happyOut29 :: (HappyAbsSyn ) -> (Maybe (ExportSpecList L))-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut29 #-}-happyIn30 :: (ExportSpecList L) -> (HappyAbsSyn )-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn30 #-}-happyOut30 :: (HappyAbsSyn ) -> (ExportSpecList L)-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut30 #-}-happyIn31 :: ([S]) -> (HappyAbsSyn )-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn31 #-}-happyOut31 :: (HappyAbsSyn ) -> ([S])-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut31 #-}-happyIn32 :: (([ExportSpec L],[S])) -> (HappyAbsSyn )-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn32 #-}-happyOut32 :: (HappyAbsSyn ) -> (([ExportSpec L],[S]))-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut32 #-}-happyIn33 :: (ExportSpec L) -> (HappyAbsSyn )-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn33 #-}-happyOut33 :: (HappyAbsSyn ) -> (ExportSpec L)-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut33 #-}-happyIn34 :: (([Either S (CName L)],[S])) -> (HappyAbsSyn )-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn34 #-}-happyOut34 :: (HappyAbsSyn ) -> (([Either S (CName L)],[S]))-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut34 #-}-happyIn35 :: (Either S (CName L)) -> (HappyAbsSyn )-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn35 #-}-happyOut35 :: (HappyAbsSyn ) -> (Either S (CName L))-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut35 #-}-happyIn36 :: (QName L) -> (HappyAbsSyn )-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn36 #-}-happyOut36 :: (HappyAbsSyn ) -> (QName L)-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut36 #-}-happyIn37 :: (([ImportDecl L],[S])) -> (HappyAbsSyn )-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn37 #-}-happyOut37 :: (HappyAbsSyn ) -> (([ImportDecl L],[S]))-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut37 #-}-happyIn38 :: (ImportDecl L) -> (HappyAbsSyn )-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn38 #-}-happyOut38 :: (HappyAbsSyn ) -> (ImportDecl L)-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut38 #-}-happyIn39 :: ((Bool,[S])) -> (HappyAbsSyn )-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn39 #-}-happyOut39 :: (HappyAbsSyn ) -> ((Bool,[S]))-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut39 #-}-happyIn40 :: ((Bool,[S])) -> (HappyAbsSyn )-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn40 #-}-happyOut40 :: (HappyAbsSyn ) -> ((Bool,[S]))-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut40 #-}-happyIn41 :: ((Bool,[S])) -> (HappyAbsSyn )-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn41 #-}-happyOut41 :: (HappyAbsSyn ) -> ((Bool,[S]))-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut41 #-}-happyIn42 :: ((Maybe String,[S])) -> (HappyAbsSyn )-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn42 #-}-happyOut42 :: (HappyAbsSyn ) -> ((Maybe String,[S]))-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut42 #-}-happyIn43 :: ((Maybe (ModuleName L),[S],Maybe L)) -> (HappyAbsSyn )-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn43 #-}-happyOut43 :: (HappyAbsSyn ) -> ((Maybe (ModuleName L),[S],Maybe L))-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut43 #-}-happyIn44 :: (Maybe (ImportSpecList L)) -> (HappyAbsSyn )-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn44 #-}-happyOut44 :: (HappyAbsSyn ) -> (Maybe (ImportSpecList L))-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut44 #-}-happyIn45 :: (ImportSpecList L) -> (HappyAbsSyn )-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn45 #-}-happyOut45 :: (HappyAbsSyn ) -> (ImportSpecList L)-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut45 #-}-happyIn46 :: ((Bool, Maybe L,[S])) -> (HappyAbsSyn )-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn46 #-}-happyOut46 :: (HappyAbsSyn ) -> ((Bool, Maybe L,[S]))-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut46 #-}-happyIn47 :: (([ImportSpec L],[S])) -> (HappyAbsSyn )-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn47 #-}-happyOut47 :: (HappyAbsSyn ) -> (([ImportSpec L],[S]))-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut47 #-}-happyIn48 :: (ImportSpec L) -> (HappyAbsSyn )-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn48 #-}-happyOut48 :: (HappyAbsSyn ) -> (ImportSpec L)-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut48 #-}-happyIn49 :: (([CName L],[S])) -> (HappyAbsSyn )-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn49 #-}-happyOut49 :: (HappyAbsSyn ) -> (([CName L],[S]))-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut49 #-}-happyIn50 :: (CName L) -> (HappyAbsSyn )-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn50 #-}-happyOut50 :: (HappyAbsSyn ) -> (CName L)-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut50 #-}-happyIn51 :: (Decl L) -> (HappyAbsSyn )-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn51 #-}-happyOut51 :: (HappyAbsSyn ) -> (Decl L)-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut51 #-}-happyIn52 :: ((Maybe Int, [S])) -> (HappyAbsSyn )-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn52 #-}-happyOut52 :: (HappyAbsSyn ) -> ((Maybe Int, [S]))-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut52 #-}-happyIn53 :: (Assoc L) -> (HappyAbsSyn )-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn53 #-}-happyOut53 :: (HappyAbsSyn ) -> (Assoc L)-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut53 #-}-happyIn54 :: (([Op L],[S],L)) -> (HappyAbsSyn )-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn54 #-}-happyOut54 :: (HappyAbsSyn ) -> (([Op L],[S],L))-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut54 #-}-happyIn55 :: (Maybe (InjectivityInfo L)) -> (HappyAbsSyn )-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn55 #-}-happyOut55 :: (HappyAbsSyn ) -> (Maybe (InjectivityInfo L))-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut55 #-}-happyIn56 :: (InjectivityInfo L) -> (HappyAbsSyn )-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn56 #-}-happyOut56 :: (HappyAbsSyn ) -> (InjectivityInfo L)-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut56 #-}-happyIn57 :: ([Name L]) -> (HappyAbsSyn )-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn57 #-}-happyOut57 :: (HappyAbsSyn ) -> ([Name L])-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut57 #-}-happyIn58 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn58 #-}-happyOut58 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut58 #-}-happyIn59 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn59 #-}-happyOut59 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut59 #-}-happyIn60 :: (Decl L) -> (HappyAbsSyn )-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn60 #-}-happyOut60 :: (HappyAbsSyn ) -> (Decl L)-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut60 #-}-happyIn61 :: (Maybe (ResultSig L)) -> (HappyAbsSyn )-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn61 #-}-happyOut61 :: (HappyAbsSyn ) -> (Maybe (ResultSig L))-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut61 #-}-happyIn62 :: (Maybe (ResultSig L)) -> (HappyAbsSyn )-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn62 #-}-happyOut62 :: (HappyAbsSyn ) -> (Maybe (ResultSig L))-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut62 #-}-happyIn63 :: ((Maybe (ResultSig L), Maybe (InjectivityInfo L))) -> (HappyAbsSyn )-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn63 #-}-happyOut63 :: (HappyAbsSyn ) -> ((Maybe (ResultSig L), Maybe (InjectivityInfo L)))-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut63 #-}-happyIn64 :: ((Maybe (ResultSig L), Maybe (S, Type L), Maybe (InjectivityInfo L))) -> (HappyAbsSyn )-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn64 #-}-happyOut64 :: (HappyAbsSyn ) -> ((Maybe (ResultSig L), Maybe (S, Type L), Maybe (InjectivityInfo L)))-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut64 #-}-happyIn65 :: (Decl L) -> (HappyAbsSyn )-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn65 #-}-happyOut65 :: (HappyAbsSyn ) -> (Decl L)-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut65 #-}-happyIn66 :: ([(Maybe String, L)]) -> (HappyAbsSyn )-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn66 #-}-happyOut66 :: (HappyAbsSyn ) -> ([(Maybe String, L)])-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut66 #-}-happyIn67 :: ((Maybe String, L)) -> (HappyAbsSyn )-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn67 #-}-happyOut67 :: (HappyAbsSyn ) -> ((Maybe String, L))-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut67 #-}-happyIn68 :: (Maybe (Overlap L)) -> (HappyAbsSyn )-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn68 #-}-happyOut68 :: (HappyAbsSyn ) -> (Maybe (Overlap L))-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut68 #-}-happyIn69 :: (Maybe ([TypeEqn L], S)) -> (HappyAbsSyn )-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn69 #-}-happyOut69 :: (HappyAbsSyn ) -> (Maybe ([TypeEqn L], S))-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut69 #-}-happyIn70 :: ([TypeEqn L]) -> (HappyAbsSyn )-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn70 #-}-happyOut70 :: (HappyAbsSyn ) -> ([TypeEqn L])-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut70 #-}-happyIn71 :: ([TypeEqn L]) -> (HappyAbsSyn )-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn71 #-}-happyOut71 :: (HappyAbsSyn ) -> ([TypeEqn L])-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut71 #-}-happyIn72 :: (TypeEqn L) -> (HappyAbsSyn )-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn72 #-}-happyOut72 :: (HappyAbsSyn ) -> (TypeEqn L)-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut72 #-}-happyIn73 :: (DataOrNew L) -> (HappyAbsSyn )-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn73 #-}-happyOut73 :: (HappyAbsSyn ) -> (DataOrNew L)-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut73 #-}-happyIn74 :: (([Type L],[S])) -> (HappyAbsSyn )-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn74 #-}-happyOut74 :: (HappyAbsSyn ) -> (([Type L],[S]))-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut74 #-}-happyIn75 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn75 #-}-happyOut75 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut75 #-}-happyIn76 :: (([Decl L],[S])) -> (HappyAbsSyn )-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn76 #-}-happyOut76 :: (HappyAbsSyn ) -> (([Decl L],[S]))-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut76 #-}-happyIn77 :: (Decl L) -> (HappyAbsSyn )-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn77 #-}-happyOut77 :: (HappyAbsSyn ) -> (Decl L)-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut77 #-}-happyIn78 :: (Binds L) -> (HappyAbsSyn )-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn78 #-}-happyOut78 :: (HappyAbsSyn ) -> (Binds L)-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut78 #-}-happyIn79 :: (Decl L) -> (HappyAbsSyn )-happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn79 #-}-happyOut79 :: (HappyAbsSyn ) -> (Decl L)-happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut79 #-}-happyIn80 :: (Decl L) -> (HappyAbsSyn )-happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn80 #-}-happyOut80 :: (HappyAbsSyn ) -> (Decl L)-happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut80 #-}-happyIn81 :: (Decl L) -> (HappyAbsSyn )-happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn81 #-}-happyOut81 :: (HappyAbsSyn ) -> (Decl L)-happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut81 #-}-happyIn82 :: (([Type L],[S])) -> (HappyAbsSyn )-happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn82 #-}-happyOut82 :: (HappyAbsSyn ) -> (([Type L],[S]))-happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut82 #-}-happyIn83 :: (Type L) -> (HappyAbsSyn )-happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn83 #-}-happyOut83 :: (HappyAbsSyn ) -> (Type L)-happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut83 #-}-happyIn84 :: (Maybe (BooleanFormula L)) -> (HappyAbsSyn )-happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn84 #-}-happyOut84 :: (HappyAbsSyn ) -> (Maybe (BooleanFormula L))-happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut84 #-}-happyIn85 :: (BooleanFormula L) -> (HappyAbsSyn )-happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn85 #-}-happyOut85 :: (HappyAbsSyn ) -> (BooleanFormula L)-happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut85 #-}-happyIn86 :: (BooleanFormula L) -> (HappyAbsSyn )-happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn86 #-}-happyOut86 :: (HappyAbsSyn ) -> (BooleanFormula L)-happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut86 #-}-happyIn87 :: (BooleanFormula L) -> (HappyAbsSyn )-happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn87 #-}-happyOut87 :: (HappyAbsSyn ) -> (BooleanFormula L)-happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut87 #-}-happyIn88 :: (Binds L) -> (HappyAbsSyn )-happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn88 #-}-happyOut88 :: (HappyAbsSyn ) -> (Binds L)-happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut88 #-}-happyIn89 :: (([Name L],[S],L)) -> (HappyAbsSyn )-happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn89 #-}-happyOut89 :: (HappyAbsSyn ) -> (([Name L],[S],L))-happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut89 #-}-happyIn90 :: (CallConv L) -> (HappyAbsSyn )-happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn90 #-}-happyOut90 :: (HappyAbsSyn ) -> (CallConv L)-happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut90 #-}-happyIn91 :: (Maybe (Safety L)) -> (HappyAbsSyn )-happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn91 #-}-happyOut91 :: (HappyAbsSyn ) -> (Maybe (Safety L))-happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut91 #-}-happyIn92 :: ((Maybe String, Name L, Type L, [S])) -> (HappyAbsSyn )-happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn92 #-}-happyOut92 :: (HappyAbsSyn ) -> ((Maybe String, Name L, Type L, [S]))-happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut92 #-}-happyIn93 :: ([Rule L]) -> (HappyAbsSyn )-happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn93 #-}-happyOut93 :: (HappyAbsSyn ) -> ([Rule L])-happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut93 #-}-happyIn94 :: (Rule L) -> (HappyAbsSyn )-happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn94 #-}-happyOut94 :: (HappyAbsSyn ) -> (Rule L)-happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut94 #-}-happyIn95 :: (Maybe (Activation L)) -> (HappyAbsSyn )-happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn95 #-}-happyOut95 :: (HappyAbsSyn ) -> (Maybe (Activation L))-happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut95 #-}-happyIn96 :: ((Maybe [RuleVar L],[S])) -> (HappyAbsSyn )-happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn96 #-}-happyOut96 :: (HappyAbsSyn ) -> ((Maybe [RuleVar L],[S]))-happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut96 #-}-happyIn97 :: ([RuleVar L]) -> (HappyAbsSyn )-happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn97 #-}-happyOut97 :: (HappyAbsSyn ) -> ([RuleVar L])-happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut97 #-}-happyIn98 :: (RuleVar L) -> (HappyAbsSyn )-happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn98 #-}-happyOut98 :: (HappyAbsSyn ) -> (RuleVar L)-happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut98 #-}-happyIn99 :: (([([Name L],String)],[S])) -> (HappyAbsSyn )-happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn99 #-}-happyOut99 :: (HappyAbsSyn ) -> (([([Name L],String)],[S]))-happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut99 #-}-happyIn100 :: ((([Name L], String),[S])) -> (HappyAbsSyn )-happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn100 #-}-happyOut100 :: (HappyAbsSyn ) -> ((([Name L], String),[S]))-happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut100 #-}-happyIn101 :: (([Name L],[S])) -> (HappyAbsSyn )-happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn101 #-}-happyOut101 :: (HappyAbsSyn ) -> (([Name L],[S]))-happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut101 #-}-happyIn102 :: (Name L) -> (HappyAbsSyn )-happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn102 #-}-happyOut102 :: (HappyAbsSyn ) -> (Name L)-happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut102 #-}-happyIn103 :: (Annotation L) -> (HappyAbsSyn )-happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn103 #-}-happyOut103 :: (HappyAbsSyn ) -> (Annotation L)-happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut103 #-}-happyIn104 :: (Type L) -> (HappyAbsSyn )-happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn104 #-}-happyOut104 :: (HappyAbsSyn ) -> (Type L)-happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut104 #-}-happyIn105 :: (PType L) -> (HappyAbsSyn )-happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn105 #-}-happyOut105 :: (HappyAbsSyn ) -> (PType L)-happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut105 #-}-happyIn106 :: (Type L) -> (HappyAbsSyn )-happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn106 #-}-happyOut106 :: (HappyAbsSyn ) -> (Type L)-happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut106 #-}-happyIn107 :: (PType L) -> (HappyAbsSyn )-happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn107 #-}-happyOut107 :: (HappyAbsSyn ) -> (PType L)-happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut107 #-}-happyIn108 :: (Type L) -> (HappyAbsSyn )-happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn108 #-}-happyOut108 :: (HappyAbsSyn ) -> (Type L)-happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut108 #-}-happyIn109 :: (Type L) -> (HappyAbsSyn )-happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn109 #-}-happyOut109 :: (HappyAbsSyn ) -> (Type L)-happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut109 #-}-happyIn110 :: (PType L) -> (HappyAbsSyn )-happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn110 #-}-happyOut110 :: (HappyAbsSyn ) -> (PType L)-happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut110 #-}-happyIn111 :: (PType L) -> (HappyAbsSyn )-happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn111 #-}-happyOut111 :: (HappyAbsSyn ) -> (PType L)-happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut111 #-}-happyIn112 :: (Promoted L) -> (HappyAbsSyn )-happyIn112 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn112 #-}-happyOut112 :: (HappyAbsSyn ) -> (Promoted L)-happyOut112 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut112 #-}-happyIn113 :: ((Maybe (L -> BangType L,S), Maybe (Unpackedness L))) -> (HappyAbsSyn )-happyIn113 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn113 #-}-happyOut113 :: (HappyAbsSyn ) -> ((Maybe (L -> BangType L,S), Maybe (Unpackedness L)))-happyOut113 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut113 #-}-happyIn114 :: ((L -> BangType L, S)) -> (HappyAbsSyn )-happyIn114 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn114 #-}-happyOut114 :: (HappyAbsSyn ) -> ((L -> BangType L, S))-happyOut114 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut114 #-}-happyIn115 :: (Unpackedness L) -> (HappyAbsSyn )-happyIn115 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn115 #-}-happyOut115 :: (HappyAbsSyn ) -> (Unpackedness L)-happyOut115 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut115 #-}-happyIn116 :: (QName L) -> (HappyAbsSyn )-happyIn116 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn116 #-}-happyOut116 :: (HappyAbsSyn ) -> (QName L)-happyOut116 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut116 #-}-happyIn117 :: (QName L) -> (HappyAbsSyn )-happyIn117 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn117 #-}-happyOut117 :: (HappyAbsSyn ) -> (QName L)-happyOut117 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut117 #-}-happyIn118 :: (MaybePromotedName L) -> (HappyAbsSyn )-happyIn118 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn118 #-}-happyOut118 :: (HappyAbsSyn ) -> (MaybePromotedName L)-happyOut118 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut118 #-}-happyIn119 :: (Type L) -> (HappyAbsSyn )-happyIn119 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn119 #-}-happyOut119 :: (HappyAbsSyn ) -> (Type L)-happyOut119 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut119 #-}-happyIn120 :: (PType L) -> (HappyAbsSyn )-happyIn120 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn120 #-}-happyOut120 :: (HappyAbsSyn ) -> (PType L)-happyOut120 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut120 #-}-happyIn121 :: (PContext L) -> (HappyAbsSyn )-happyIn121 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn121 #-}-happyOut121 :: (HappyAbsSyn ) -> (PContext L)-happyOut121 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut121 #-}-happyIn122 :: (([PType L],[S])) -> (HappyAbsSyn )-happyIn122 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn122 #-}-happyOut122 :: (HappyAbsSyn ) -> (([PType L],[S]))-happyOut122 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut122 #-}-happyIn123 :: (([PType L],[S])) -> (HappyAbsSyn )-happyIn123 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn123 #-}-happyOut123 :: (HappyAbsSyn ) -> (([PType L],[S]))-happyOut123 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut123 #-}-happyIn124 :: (([PType L],[S])) -> (HappyAbsSyn )-happyIn124 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn124 #-}-happyOut124 :: (HappyAbsSyn ) -> (([PType L],[S]))-happyOut124 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut124 #-}-happyIn125 :: (([TyVarBind L],Maybe L)) -> (HappyAbsSyn )-happyIn125 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn125 #-}-happyOut125 :: (HappyAbsSyn ) -> (([TyVarBind L],Maybe L))-happyOut125 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut125 #-}-happyIn126 :: (TyVarBind L) -> (HappyAbsSyn )-happyIn126 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn126 #-}-happyOut126 :: (HappyAbsSyn ) -> (TyVarBind L)-happyOut126 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut126 #-}-happyIn127 :: (([Name L],Maybe L)) -> (HappyAbsSyn )-happyIn127 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn127 #-}-happyOut127 :: (HappyAbsSyn ) -> (([Name L],Maybe L))-happyOut127 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut127 #-}-happyIn128 :: (([Name L],L)) -> (HappyAbsSyn )-happyIn128 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn128 #-}-happyOut128 :: (HappyAbsSyn ) -> (([Name L],L))-happyOut128 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut128 #-}-happyIn129 :: (([FunDep L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn129 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn129 #-}-happyOut129 :: (HappyAbsSyn ) -> (([FunDep L],[S],Maybe L))-happyOut129 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut129 #-}-happyIn130 :: (([FunDep L],[S],L)) -> (HappyAbsSyn )-happyIn130 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn130 #-}-happyOut130 :: (HappyAbsSyn ) -> (([FunDep L],[S],L))-happyOut130 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut130 #-}-happyIn131 :: (FunDep L) -> (HappyAbsSyn )-happyIn131 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn131 #-}-happyOut131 :: (HappyAbsSyn ) -> (FunDep L)-happyOut131 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut131 #-}-happyIn132 :: (([GadtDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn132 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn132 #-}-happyOut132 :: (HappyAbsSyn ) -> (([GadtDecl L],[S],Maybe L))-happyOut132 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut132 #-}-happyIn133 :: (([GadtDecl L],[S])) -> (HappyAbsSyn )-happyIn133 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn133 #-}-happyOut133 :: (HappyAbsSyn ) -> (([GadtDecl L],[S]))-happyOut133 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut133 #-}-happyIn134 :: (([GadtDecl L],[S])) -> (HappyAbsSyn )-happyIn134 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn134 #-}-happyOut134 :: (HappyAbsSyn ) -> (([GadtDecl L],[S]))-happyOut134 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut134 #-}-happyIn135 :: ([GadtDecl L]) -> (HappyAbsSyn )-happyIn135 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn135 #-}-happyOut135 :: (HappyAbsSyn ) -> ([GadtDecl L])-happyOut135 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut135 #-}-happyIn136 :: (([QualConDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn136 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn136 #-}-happyOut136 :: (HappyAbsSyn ) -> (([QualConDecl L],[S],Maybe L))-happyOut136 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut136 #-}-happyIn137 :: (([QualConDecl L],[S],L)) -> (HappyAbsSyn )-happyIn137 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn137 #-}-happyOut137 :: (HappyAbsSyn ) -> (([QualConDecl L],[S],L))-happyOut137 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut137 #-}-happyIn138 :: (QualConDecl L) -> (HappyAbsSyn )-happyIn138 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn138 #-}-happyOut138 :: (HappyAbsSyn ) -> (QualConDecl L)-happyOut138 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut138 #-}-happyIn139 :: ((Maybe [TyVarBind L], [S], Maybe L)) -> (HappyAbsSyn )-happyIn139 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn139 #-}-happyOut139 :: (HappyAbsSyn ) -> ((Maybe [TyVarBind L], [S], Maybe L))-happyOut139 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut139 #-}-happyIn140 :: (ConDecl L) -> (HappyAbsSyn )-happyIn140 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn140 #-}-happyOut140 :: (HappyAbsSyn ) -> (ConDecl L)-happyOut140 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut140 #-}-happyIn141 :: ((Name L, [Type L], L)) -> (HappyAbsSyn )-happyIn141 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn141 #-}-happyOut141 :: (HappyAbsSyn ) -> ((Name L, [Type L], L))-happyOut141 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut141 #-}-happyIn142 :: (([FieldDecl L],[S])) -> (HappyAbsSyn )-happyIn142 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn142 #-}-happyOut142 :: (HappyAbsSyn ) -> (([FieldDecl L],[S]))-happyOut142 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut142 #-}-happyIn143 :: (FieldDecl L) -> (HappyAbsSyn )-happyIn143 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn143 #-}-happyOut143 :: (HappyAbsSyn ) -> (FieldDecl L)-happyOut143 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut143 #-}-happyIn144 :: ([Deriving L]) -> (HappyAbsSyn )-happyIn144 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn144 #-}-happyOut144 :: (HappyAbsSyn ) -> ([Deriving L])-happyOut144 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut144 #-}-happyIn145 :: ([Deriving L]) -> (HappyAbsSyn )-happyIn145 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn145 #-}-happyOut145 :: (HappyAbsSyn ) -> ([Deriving L])-happyOut145 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut145 #-}-happyIn146 :: (Deriving L) -> (HappyAbsSyn )-happyIn146 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn146 #-}-happyOut146 :: (HappyAbsSyn ) -> (Deriving L)-happyOut146 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut146 #-}-happyIn147 :: (([InstRule L],[S])) -> (HappyAbsSyn )-happyIn147 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn147 #-}-happyOut147 :: (HappyAbsSyn ) -> (([InstRule L],[S]))-happyOut147 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut147 #-}-happyIn148 :: (InstHead L) -> (HappyAbsSyn )-happyIn148 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn148 #-}-happyOut148 :: (HappyAbsSyn ) -> (InstHead L)-happyOut148 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut148 #-}-happyIn149 :: (Kind L) -> (HappyAbsSyn )-happyIn149 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn149 #-}-happyOut149 :: (HappyAbsSyn ) -> (Kind L)-happyOut149 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut149 #-}-happyIn150 :: (Kind L) -> (HappyAbsSyn )-happyIn150 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn150 #-}-happyOut150 :: (HappyAbsSyn ) -> (Kind L)-happyOut150 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut150 #-}-happyIn151 :: (Kind L) -> (HappyAbsSyn )-happyIn151 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn151 #-}-happyOut151 :: (HappyAbsSyn ) -> (Kind L)-happyOut151 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut151 #-}-happyIn152 :: (Kind L) -> (HappyAbsSyn )-happyIn152 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn152 #-}-happyOut152 :: (HappyAbsSyn ) -> (Kind L)-happyOut152 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut152 #-}-happyIn153 :: (Kind L) -> (HappyAbsSyn )-happyIn153 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn153 #-}-happyOut153 :: (HappyAbsSyn ) -> (Kind L)-happyOut153 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut153 #-}-happyIn154 :: (([Kind L], [S])) -> (HappyAbsSyn )-happyIn154 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn154 #-}-happyOut154 :: (HappyAbsSyn ) -> (([Kind L], [S]))-happyOut154 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut154 #-}-happyIn155 :: ((Maybe (Kind L), [S])) -> (HappyAbsSyn )-happyIn155 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn155 #-}-happyOut155 :: (HappyAbsSyn ) -> ((Maybe (Kind L), [S]))-happyOut155 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut155 #-}-happyIn156 :: (Maybe ( S, QName L )) -> (HappyAbsSyn )-happyIn156 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn156 #-}-happyOut156 :: (HappyAbsSyn ) -> (Maybe ( S, QName L ))-happyOut156 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut156 #-}-happyIn157 :: ((Maybe [ClassDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn157 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn157 #-}-happyOut157 :: (HappyAbsSyn ) -> ((Maybe [ClassDecl L],[S],Maybe L))-happyOut157 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut157 #-}-happyIn158 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )-happyIn158 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn158 #-}-happyOut158 :: (HappyAbsSyn ) -> (([ClassDecl L],[S]))-happyOut158 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut158 #-}-happyIn159 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )-happyIn159 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn159 #-}-happyOut159 :: (HappyAbsSyn ) -> (([ClassDecl L],[S]))-happyOut159 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut159 #-}-happyIn160 :: (ClassDecl L) -> (HappyAbsSyn )-happyIn160 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn160 #-}-happyOut160 :: (HappyAbsSyn ) -> (ClassDecl L)-happyOut160 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut160 #-}-happyIn161 :: ([S]) -> (HappyAbsSyn )-happyIn161 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn161 #-}-happyOut161 :: (HappyAbsSyn ) -> ([S])-happyOut161 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut161 #-}-happyIn162 :: (ClassDecl L) -> (HappyAbsSyn )-happyIn162 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn162 #-}-happyOut162 :: (HappyAbsSyn ) -> (ClassDecl L)-happyOut162 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut162 #-}-happyIn163 :: ((Maybe [InstDecl L],[S],Maybe L)) -> (HappyAbsSyn )-happyIn163 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn163 #-}-happyOut163 :: (HappyAbsSyn ) -> ((Maybe [InstDecl L],[S],Maybe L))-happyOut163 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut163 #-}-happyIn164 :: (([InstDecl L],[S])) -> (HappyAbsSyn )-happyIn164 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn164 #-}-happyOut164 :: (HappyAbsSyn ) -> (([InstDecl L],[S]))-happyOut164 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut164 #-}-happyIn165 :: (([InstDecl L],[S])) -> (HappyAbsSyn )-happyIn165 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn165 #-}-happyOut165 :: (HappyAbsSyn ) -> (([InstDecl L],[S]))-happyOut165 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut165 #-}-happyIn166 :: (InstDecl L) -> (HappyAbsSyn )-happyIn166 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn166 #-}-happyOut166 :: (HappyAbsSyn ) -> (InstDecl L)-happyOut166 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut166 #-}-happyIn167 :: (InstDecl L) -> (HappyAbsSyn )-happyIn167 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn167 #-}-happyOut167 :: (HappyAbsSyn ) -> (InstDecl L)-happyOut167 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut167 #-}-happyIn168 :: (Decl L) -> (HappyAbsSyn )-happyIn168 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn168 #-}-happyOut168 :: (HappyAbsSyn ) -> (Decl L)-happyOut168 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut168 #-}-happyIn169 :: ((Maybe (Binds L),[S])) -> (HappyAbsSyn )-happyIn169 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn169 #-}-happyOut169 :: (HappyAbsSyn ) -> ((Maybe (Binds L),[S]))-happyOut169 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut169 #-}-happyIn170 :: ((Maybe (Type L, S))) -> (HappyAbsSyn )-happyIn170 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn170 #-}-happyOut170 :: (HappyAbsSyn ) -> ((Maybe (Type L, S)))-happyOut170 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut170 #-}-happyIn171 :: (Rhs L) -> (HappyAbsSyn )-happyIn171 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn171 #-}-happyOut171 :: (HappyAbsSyn ) -> (Rhs L)-happyOut171 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut171 #-}-happyIn172 :: (([GuardedRhs L],L)) -> (HappyAbsSyn )-happyIn172 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn172 #-}-happyOut172 :: (HappyAbsSyn ) -> (([GuardedRhs L],L))-happyOut172 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut172 #-}-happyIn173 :: (GuardedRhs L) -> (HappyAbsSyn )-happyIn173 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn173 #-}-happyOut173 :: (HappyAbsSyn ) -> (GuardedRhs L)-happyOut173 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut173 #-}-happyIn174 :: (Exp L) -> (HappyAbsSyn )-happyIn174 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn174 #-}-happyOut174 :: (HappyAbsSyn ) -> (Exp L)-happyOut174 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut174 #-}-happyIn175 :: (PExp L) -> (HappyAbsSyn )-happyIn175 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn175 #-}-happyOut175 :: (HappyAbsSyn ) -> (PExp L)-happyOut175 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut175 #-}-happyIn176 :: (PExp L) -> (HappyAbsSyn )-happyIn176 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn176 #-}-happyOut176 :: (HappyAbsSyn ) -> (PExp L)-happyOut176 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut176 #-}-happyIn177 :: (PExp L) -> (HappyAbsSyn )-happyIn177 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn177 #-}-happyOut177 :: (HappyAbsSyn ) -> (PExp L)-happyOut177 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut177 #-}-happyIn178 :: (PExp L) -> (HappyAbsSyn )-happyIn178 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn178 #-}-happyOut178 :: (HappyAbsSyn ) -> (PExp L)-happyOut178 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut178 #-}-happyIn179 :: (PExp L) -> (HappyAbsSyn )-happyIn179 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn179 #-}-happyOut179 :: (HappyAbsSyn ) -> (PExp L)-happyOut179 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut179 #-}-happyIn180 :: ([S]) -> (HappyAbsSyn )-happyIn180 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn180 #-}-happyOut180 :: (HappyAbsSyn ) -> ([S])-happyOut180 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut180 #-}-happyIn181 :: ([S]) -> (HappyAbsSyn )-happyIn181 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn181 #-}-happyOut181 :: (HappyAbsSyn ) -> ([S])-happyOut181 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut181 #-}-happyIn182 :: (PExp L) -> (HappyAbsSyn )-happyIn182 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn182 #-}-happyOut182 :: (HappyAbsSyn ) -> (PExp L)-happyOut182 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut182 #-}-happyIn183 :: (PExp L) -> (HappyAbsSyn )-happyIn183 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn183 #-}-happyOut183 :: (HappyAbsSyn ) -> (PExp L)-happyOut183 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut183 #-}-happyIn184 :: (PExp L) -> (HappyAbsSyn )-happyIn184 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn184 #-}-happyOut184 :: (HappyAbsSyn ) -> (PExp L)-happyOut184 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut184 #-}-happyIn185 :: ([Pat L]) -> (HappyAbsSyn )-happyIn185 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn185 #-}-happyOut185 :: (HappyAbsSyn ) -> ([Pat L])-happyOut185 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut185 #-}-happyIn186 :: (Pat L) -> (HappyAbsSyn )-happyIn186 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn186 #-}-happyOut186 :: (HappyAbsSyn ) -> (Pat L)-happyOut186 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut186 #-}-happyIn187 :: (PExp L) -> (HappyAbsSyn )-happyIn187 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn187 #-}-happyOut187 :: (HappyAbsSyn ) -> (PExp L)-happyOut187 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut187 #-}-happyIn188 :: (PExp L) -> (HappyAbsSyn )-happyIn188 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn188 #-}-happyOut188 :: (HappyAbsSyn ) -> (PExp L)-happyOut188 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut188 #-}-happyIn189 :: (PExp L) -> (HappyAbsSyn )-happyIn189 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn189 #-}-happyOut189 :: (HappyAbsSyn ) -> (PExp L)-happyOut189 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut189 #-}-happyIn190 :: (([S], SumOrTuple L)) -> (HappyAbsSyn )-happyIn190 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn190 #-}-happyOut190 :: (HappyAbsSyn ) -> (([S], SumOrTuple L))-happyOut190 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut190 #-}-happyIn191 :: (([S], [Maybe (PExp L)])) -> (HappyAbsSyn )-happyIn191 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn191 #-}-happyOut191 :: (HappyAbsSyn ) -> (([S], [Maybe (PExp L)]))-happyOut191 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut191 #-}-happyIn192 :: (([S], [Maybe (PExp L)])) -> (HappyAbsSyn )-happyIn192 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn192 #-}-happyOut192 :: (HappyAbsSyn ) -> (([S], [Maybe (PExp L)]))-happyOut192 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut192 #-}-happyIn193 :: ([S]) -> (HappyAbsSyn )-happyIn193 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn193 #-}-happyOut193 :: (HappyAbsSyn ) -> ([S])-happyOut193 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut193 #-}-happyIn194 :: ([S]) -> (HappyAbsSyn )-happyIn194 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn194 #-}-happyOut194 :: (HappyAbsSyn ) -> ([S])-happyOut194 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut194 #-}-happyIn195 :: ([S]) -> (HappyAbsSyn )-happyIn195 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn195 #-}-happyOut195 :: (HappyAbsSyn ) -> ([S])-happyOut195 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut195 #-}-happyIn196 :: (PExp L) -> (HappyAbsSyn )-happyIn196 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn196 #-}-happyOut196 :: (HappyAbsSyn ) -> (PExp L)-happyOut196 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut196 #-}-happyIn197 :: (([PExp L],[S])) -> (HappyAbsSyn )-happyIn197 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn197 #-}-happyOut197 :: (HappyAbsSyn ) -> (([PExp L],[S]))-happyOut197 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut197 #-}-happyIn198 :: (PExp L) -> (HappyAbsSyn )-happyIn198 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn198 #-}-happyOut198 :: (HappyAbsSyn ) -> (PExp L)-happyOut198 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut198 #-}-happyIn199 :: (PExp L) -> (HappyAbsSyn )-happyIn199 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn199 #-}-happyOut199 :: (HappyAbsSyn ) -> (PExp L)-happyOut199 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut199 #-}-happyIn200 :: ([PExp L]) -> (HappyAbsSyn )-happyIn200 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn200 #-}-happyOut200 :: (HappyAbsSyn ) -> ([PExp L])-happyOut200 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut200 #-}-happyIn201 :: (PExp L) -> (HappyAbsSyn )-happyIn201 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn201 #-}-happyOut201 :: (HappyAbsSyn ) -> (PExp L)-happyOut201 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut201 #-}-happyIn202 :: (XName L) -> (HappyAbsSyn )-happyIn202 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn202 #-}-happyOut202 :: (HappyAbsSyn ) -> (XName L)-happyOut202 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut202 #-}-happyIn203 :: (Loc String) -> (HappyAbsSyn )-happyIn203 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn203 #-}-happyOut203 :: (HappyAbsSyn ) -> (Loc String)-happyOut203 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut203 #-}-happyIn204 :: (Loc String) -> (HappyAbsSyn )-happyIn204 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn204 #-}-happyOut204 :: (HappyAbsSyn ) -> (Loc String)-happyOut204 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut204 #-}-happyIn205 :: ([ParseXAttr L]) -> (HappyAbsSyn )-happyIn205 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn205 #-}-happyOut205 :: (HappyAbsSyn ) -> ([ParseXAttr L])-happyOut205 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut205 #-}-happyIn206 :: (ParseXAttr L) -> (HappyAbsSyn )-happyIn206 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn206 #-}-happyOut206 :: (HappyAbsSyn ) -> (ParseXAttr L)-happyOut206 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut206 #-}-happyIn207 :: (Maybe (PExp L)) -> (HappyAbsSyn )-happyIn207 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn207 #-}-happyOut207 :: (HappyAbsSyn ) -> (Maybe (PExp L))-happyOut207 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut207 #-}-happyIn208 :: (L -> PExp L) -> (HappyAbsSyn )-happyIn208 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn208 #-}-happyOut208 :: (HappyAbsSyn ) -> (L -> PExp L)-happyOut208 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut208 #-}-happyIn209 :: (([PExp L],[S])) -> (HappyAbsSyn )-happyIn209 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn209 #-}-happyOut209 :: (HappyAbsSyn ) -> (([PExp L],[S]))-happyOut209 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut209 #-}-happyIn210 :: (([[QualStmt L]],[S])) -> (HappyAbsSyn )-happyIn210 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn210 #-}-happyOut210 :: (HappyAbsSyn ) -> (([[QualStmt L]],[S]))-happyOut210 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut210 #-}-happyIn211 :: (([QualStmt L],[S])) -> (HappyAbsSyn )-happyIn211 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn211 #-}-happyOut211 :: (HappyAbsSyn ) -> (([QualStmt L],[S]))-happyOut211 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut211 #-}-happyIn212 :: (QualStmt L) -> (HappyAbsSyn )-happyIn212 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn212 #-}-happyOut212 :: (HappyAbsSyn ) -> (QualStmt L)-happyOut212 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut212 #-}-happyIn213 :: (QualStmt L) -> (HappyAbsSyn )-happyIn213 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn213 #-}-happyOut213 :: (HappyAbsSyn ) -> (QualStmt L)-happyOut213 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut213 #-}-happyIn214 :: (([Stmt L],[S])) -> (HappyAbsSyn )-happyIn214 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn214 #-}-happyOut214 :: (HappyAbsSyn ) -> (([Stmt L],[S]))-happyOut214 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut214 #-}-happyIn215 :: (Stmt L) -> (HappyAbsSyn )-happyIn215 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn215 #-}-happyOut215 :: (HappyAbsSyn ) -> (Stmt L)-happyOut215 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut215 #-}-happyIn216 :: (L -> PExp L) -> (HappyAbsSyn )-happyIn216 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn216 #-}-happyOut216 :: (HappyAbsSyn ) -> (L -> PExp L)-happyOut216 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut216 #-}-happyIn217 :: (([Alt L],L,[S])) -> (HappyAbsSyn )-happyIn217 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn217 #-}-happyOut217 :: (HappyAbsSyn ) -> (([Alt L],L,[S]))-happyOut217 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut217 #-}-happyIn218 :: (([Alt L],[S])) -> (HappyAbsSyn )-happyIn218 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn218 #-}-happyOut218 :: (HappyAbsSyn ) -> (([Alt L],[S]))-happyOut218 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut218 #-}-happyIn219 :: (([Alt L],[S])) -> (HappyAbsSyn )-happyIn219 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn219 #-}-happyOut219 :: (HappyAbsSyn ) -> (([Alt L],[S]))-happyOut219 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut219 #-}-happyIn220 :: (Alt L) -> (HappyAbsSyn )-happyIn220 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn220 #-}-happyOut220 :: (HappyAbsSyn ) -> (Alt L)-happyOut220 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut220 #-}-happyIn221 :: (Rhs L) -> (HappyAbsSyn )-happyIn221 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn221 #-}-happyOut221 :: (HappyAbsSyn ) -> (Rhs L)-happyOut221 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut221 #-}-happyIn222 :: (([GuardedRhs L],L)) -> (HappyAbsSyn )-happyIn222 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn222 #-}-happyOut222 :: (HappyAbsSyn ) -> (([GuardedRhs L],L))-happyOut222 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut222 #-}-happyIn223 :: (GuardedRhs L) -> (HappyAbsSyn )-happyIn223 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn223 #-}-happyOut223 :: (HappyAbsSyn ) -> (GuardedRhs L)-happyOut223 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut223 #-}-happyIn224 :: (Pat L) -> (HappyAbsSyn )-happyIn224 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn224 #-}-happyOut224 :: (HappyAbsSyn ) -> (Pat L)-happyOut224 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut224 #-}-happyIn225 :: (([GuardedRhs L], L, [S])) -> (HappyAbsSyn )-happyIn225 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn225 #-}-happyOut225 :: (HappyAbsSyn ) -> (([GuardedRhs L], L, [S]))-happyOut225 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut225 #-}-happyIn226 :: (([GuardedRhs L], [S])) -> (HappyAbsSyn )-happyIn226 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn226 #-}-happyOut226 :: (HappyAbsSyn ) -> (([GuardedRhs L], [S]))-happyOut226 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut226 #-}-happyIn227 :: (([GuardedRhs L], [S])) -> (HappyAbsSyn )-happyIn227 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn227 #-}-happyOut227 :: (HappyAbsSyn ) -> (([GuardedRhs L], [S]))-happyOut227 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut227 #-}-happyIn228 :: (([Stmt L],L,[S])) -> (HappyAbsSyn )-happyIn228 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn228 #-}-happyOut228 :: (HappyAbsSyn ) -> (([Stmt L],L,[S]))-happyOut228 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut228 #-}-happyIn229 :: (([Stmt L],[S])) -> (HappyAbsSyn )-happyIn229 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn229 #-}-happyOut229 :: (HappyAbsSyn ) -> (([Stmt L],[S]))-happyOut229 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut229 #-}-happyIn230 :: (([Stmt L],[S])) -> (HappyAbsSyn )-happyIn230 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn230 #-}-happyOut230 :: (HappyAbsSyn ) -> (([Stmt L],[S]))-happyOut230 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut230 #-}-happyIn231 :: (Stmt L) -> (HappyAbsSyn )-happyIn231 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn231 #-}-happyOut231 :: (HappyAbsSyn ) -> (Stmt L)-happyOut231 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut231 #-}-happyIn232 :: (([PFieldUpdate L],[S])) -> (HappyAbsSyn )-happyIn232 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn232 #-}-happyOut232 :: (HappyAbsSyn ) -> (([PFieldUpdate L],[S]))-happyOut232 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut232 #-}-happyIn233 :: (PFieldUpdate L) -> (HappyAbsSyn )-happyIn233 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn233 #-}-happyOut233 :: (HappyAbsSyn ) -> (PFieldUpdate L)-happyOut233 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut233 #-}-happyIn234 :: (([IPBind L],[S])) -> (HappyAbsSyn )-happyIn234 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn234 #-}-happyOut234 :: (HappyAbsSyn ) -> (([IPBind L],[S]))-happyOut234 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut234 #-}-happyIn235 :: (([IPBind L],[S])) -> (HappyAbsSyn )-happyIn235 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn235 #-}-happyOut235 :: (HappyAbsSyn ) -> (([IPBind L],[S]))-happyOut235 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut235 #-}-happyIn236 :: (IPBind L) -> (HappyAbsSyn )-happyIn236 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn236 #-}-happyOut236 :: (HappyAbsSyn ) -> (IPBind L)-happyOut236 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut236 #-}-happyIn237 :: (PExp L) -> (HappyAbsSyn )-happyIn237 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn237 #-}-happyOut237 :: (HappyAbsSyn ) -> (PExp L)-happyOut237 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut237 #-}-happyIn238 :: (PExp L) -> (HappyAbsSyn )-happyIn238 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn238 #-}-happyOut238 :: (HappyAbsSyn ) -> (PExp L)-happyOut238 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut238 #-}-happyIn239 :: (PExp L) -> (HappyAbsSyn )-happyIn239 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn239 #-}-happyOut239 :: (HappyAbsSyn ) -> (PExp L)-happyOut239 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut239 #-}-happyIn240 :: (PExp L) -> (HappyAbsSyn )-happyIn240 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn240 #-}-happyOut240 :: (HappyAbsSyn ) -> (PExp L)-happyOut240 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut240 #-}-happyIn241 :: (Name L) -> (HappyAbsSyn )-happyIn241 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn241 #-}-happyOut241 :: (HappyAbsSyn ) -> (Name L)-happyOut241 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut241 #-}-happyIn242 :: (Name L) -> (HappyAbsSyn )-happyIn242 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn242 #-}-happyOut242 :: (HappyAbsSyn ) -> (Name L)-happyOut242 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut242 #-}-happyIn243 :: (QName L) -> (HappyAbsSyn )-happyIn243 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn243 #-}-happyOut243 :: (HappyAbsSyn ) -> (QName L)-happyOut243 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut243 #-}-happyIn244 :: (IPName L) -> (HappyAbsSyn )-happyIn244 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn244 #-}-happyOut244 :: (HappyAbsSyn ) -> (IPName L)-happyOut244 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut244 #-}-happyIn245 :: (Name L) -> (HappyAbsSyn )-happyIn245 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn245 #-}-happyOut245 :: (HappyAbsSyn ) -> (Name L)-happyOut245 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut245 #-}-happyIn246 :: (([S], [Name L])) -> (HappyAbsSyn )-happyIn246 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn246 #-}-happyOut246 :: (HappyAbsSyn ) -> (([S], [Name L]))-happyOut246 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut246 #-}-happyIn247 :: (QName L) -> (HappyAbsSyn )-happyIn247 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn247 #-}-happyOut247 :: (HappyAbsSyn ) -> (QName L)-happyOut247 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut247 #-}-happyIn248 :: (Name L) -> (HappyAbsSyn )-happyIn248 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn248 #-}-happyOut248 :: (HappyAbsSyn ) -> (Name L)-happyOut248 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut248 #-}-happyIn249 :: (QName L) -> (HappyAbsSyn )-happyIn249 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn249 #-}-happyOut249 :: (HappyAbsSyn ) -> (QName L)-happyOut249 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut249 #-}-happyIn250 :: (QName L) -> (HappyAbsSyn )-happyIn250 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn250 #-}-happyOut250 :: (HappyAbsSyn ) -> (QName L)-happyOut250 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut250 #-}-happyIn251 :: (Name L) -> (HappyAbsSyn )-happyIn251 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn251 #-}-happyOut251 :: (HappyAbsSyn ) -> (Name L)-happyOut251 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut251 #-}-happyIn252 :: (QName L) -> (HappyAbsSyn )-happyIn252 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn252 #-}-happyOut252 :: (HappyAbsSyn ) -> (QName L)-happyOut252 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut252 #-}-happyIn253 :: (Op L) -> (HappyAbsSyn )-happyIn253 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn253 #-}-happyOut253 :: (HappyAbsSyn ) -> (Op L)-happyOut253 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut253 #-}-happyIn254 :: (QOp L) -> (HappyAbsSyn )-happyIn254 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn254 #-}-happyOut254 :: (HappyAbsSyn ) -> (QOp L)-happyOut254 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut254 #-}-happyIn255 :: (QOp L) -> (HappyAbsSyn )-happyIn255 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn255 #-}-happyOut255 :: (HappyAbsSyn ) -> (QOp L)-happyOut255 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut255 #-}-happyIn256 :: (QName L) -> (HappyAbsSyn )-happyIn256 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn256 #-}-happyOut256 :: (HappyAbsSyn ) -> (QName L)-happyOut256 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut256 #-}-happyIn257 :: (PExp L) -> (HappyAbsSyn )-happyIn257 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn257 #-}-happyOut257 :: (HappyAbsSyn ) -> (PExp L)-happyOut257 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut257 #-}-happyIn258 :: (QName L) -> (HappyAbsSyn )-happyIn258 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn258 #-}-happyOut258 :: (HappyAbsSyn ) -> (QName L)-happyOut258 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut258 #-}-happyIn259 :: (Name L) -> (HappyAbsSyn )-happyIn259 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn259 #-}-happyOut259 :: (HappyAbsSyn ) -> (Name L)-happyOut259 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut259 #-}-happyIn260 :: (Name L) -> (HappyAbsSyn )-happyIn260 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn260 #-}-happyOut260 :: (HappyAbsSyn ) -> (Name L)-happyOut260 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut260 #-}-happyIn261 :: (IPName L) -> (HappyAbsSyn )-happyIn261 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn261 #-}-happyOut261 :: (HappyAbsSyn ) -> (IPName L)-happyOut261 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut261 #-}-happyIn262 :: (QName L) -> (HappyAbsSyn )-happyIn262 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn262 #-}-happyOut262 :: (HappyAbsSyn ) -> (QName L)-happyOut262 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut262 #-}-happyIn263 :: (Name L) -> (HappyAbsSyn )-happyIn263 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn263 #-}-happyOut263 :: (HappyAbsSyn ) -> (Name L)-happyOut263 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut263 #-}-happyIn264 :: (QName L) -> (HappyAbsSyn )-happyIn264 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn264 #-}-happyOut264 :: (HappyAbsSyn ) -> (QName L)-happyOut264 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut264 #-}-happyIn265 :: (Name L) -> (HappyAbsSyn )-happyIn265 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn265 #-}-happyOut265 :: (HappyAbsSyn ) -> (Name L)-happyOut265 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut265 #-}-happyIn266 :: (QName L) -> (HappyAbsSyn )-happyIn266 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn266 #-}-happyOut266 :: (HappyAbsSyn ) -> (QName L)-happyOut266 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut266 #-}-happyIn267 :: (QName L) -> (HappyAbsSyn )-happyIn267 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn267 #-}-happyOut267 :: (HappyAbsSyn ) -> (QName L)-happyOut267 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut267 #-}-happyIn268 :: (Name L) -> (HappyAbsSyn )-happyIn268 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn268 #-}-happyOut268 :: (HappyAbsSyn ) -> (Name L)-happyOut268 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut268 #-}-happyIn269 :: (Name L) -> (HappyAbsSyn )-happyIn269 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn269 #-}-happyOut269 :: (HappyAbsSyn ) -> (Name L)-happyOut269 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut269 #-}-happyIn270 :: (QName L) -> (HappyAbsSyn )-happyIn270 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn270 #-}-happyOut270 :: (HappyAbsSyn ) -> (QName L)-happyOut270 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut270 #-}-happyIn271 :: (Literal L) -> (HappyAbsSyn )-happyIn271 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn271 #-}-happyOut271 :: (HappyAbsSyn ) -> (Literal L)-happyOut271 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut271 #-}-happyIn272 :: (S) -> (HappyAbsSyn )-happyIn272 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn272 #-}-happyOut272 :: (HappyAbsSyn ) -> (S)-happyOut272 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut272 #-}-happyIn273 :: (S) -> (HappyAbsSyn )-happyIn273 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn273 #-}-happyOut273 :: (HappyAbsSyn ) -> (S)-happyOut273 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut273 #-}-happyIn274 :: (Decl L) -> (HappyAbsSyn )-happyIn274 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn274 #-}-happyOut274 :: (HappyAbsSyn ) -> (Decl L)-happyOut274 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut274 #-}-happyIn275 :: (Decl L) -> (HappyAbsSyn )-happyIn275 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn275 #-}-happyOut275 :: (HappyAbsSyn ) -> (Decl L)-happyOut275 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut275 #-}-happyIn276 :: (Pat L) -> (HappyAbsSyn )-happyIn276 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn276 #-}-happyOut276 :: (HappyAbsSyn ) -> (Pat L)-happyOut276 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut276 #-}-happyIn277 :: ([Pat L]) -> (HappyAbsSyn )-happyIn277 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn277 #-}-happyOut277 :: (HappyAbsSyn ) -> ([Pat L])-happyOut277 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut277 #-}-happyIn278 :: (([S], [Name L])) -> (HappyAbsSyn )-happyIn278 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn278 #-}-happyOut278 :: (HappyAbsSyn ) -> (([S], [Name L]))-happyOut278 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut278 #-}-happyIn279 :: (PatternSynDirection L) -> (HappyAbsSyn )-happyIn279 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn279 #-}-happyOut279 :: (HappyAbsSyn ) -> (PatternSynDirection L)-happyOut279 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut279 #-}-happyIn280 :: (Decl L) -> (HappyAbsSyn )-happyIn280 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn280 #-}-happyOut280 :: (HappyAbsSyn ) -> (Decl L)-happyOut280 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut280 #-}-happyIn281 :: ((Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L )) -> (HappyAbsSyn )-happyIn281 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn281 #-}-happyOut281 :: (HappyAbsSyn ) -> ((Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L ))-happyOut281 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut281 #-}-happyIn282 :: (Maybe (DerivStrategy L)) -> (HappyAbsSyn )-happyIn282 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn282 #-}-happyOut282 :: (HappyAbsSyn ) -> (Maybe (DerivStrategy L))-happyOut282 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut282 #-}-happyIn283 :: (ModuleName L) -> (HappyAbsSyn )-happyIn283 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn283 #-}-happyOut283 :: (HappyAbsSyn ) -> (ModuleName L)-happyOut283 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut283 #-}-happyIn284 :: (Name L) -> (HappyAbsSyn )-happyIn284 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn284 #-}-happyOut284 :: (HappyAbsSyn ) -> (Name L)-happyOut284 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut284 #-}-happyIn285 :: (QName L) -> (HappyAbsSyn )-happyIn285 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn285 #-}-happyOut285 :: (HappyAbsSyn ) -> (QName L)-happyOut285 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut285 #-}-happyIn286 :: (Name L) -> (HappyAbsSyn )-happyIn286 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn286 #-}-happyOut286 :: (HappyAbsSyn ) -> (Name L)-happyOut286 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut286 #-}-happyIn287 :: (Name L) -> (HappyAbsSyn )-happyIn287 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn287 #-}-happyOut287 :: (HappyAbsSyn ) -> (Name L)-happyOut287 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut287 #-}-happyIn288 :: (QName L) -> (HappyAbsSyn )-happyIn288 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn288 #-}-happyOut288 :: (HappyAbsSyn ) -> (QName L)-happyOut288 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut288 #-}-happyIn289 :: (Name L) -> (HappyAbsSyn )-happyIn289 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn289 #-}-happyOut289 :: (HappyAbsSyn ) -> (Name L)-happyOut289 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut289 #-}-happyIn290 :: (([ImportDecl L],[S],L)) -> (HappyAbsSyn )-happyIn290 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn290 #-}-happyOut290 :: (HappyAbsSyn ) -> (([ImportDecl L],[S],L))-happyOut290 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut290 #-}-happyIn291 :: ((([ModulePragma L], [S], L), Maybe (ModuleName L))) -> (HappyAbsSyn )-happyIn291 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn291 #-}-happyOut291 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleName L)))-happyOut291 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut291 #-}-happyIn292 :: ((([ModulePragma L], [S], L), Maybe (ModuleHead L))) -> (HappyAbsSyn )-happyIn292 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn292 #-}-happyOut292 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleHead L)))-happyOut292 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut292 #-}-happyIn293 :: ((([ModulePragma L], [S], L), Maybe (ModuleHead L), Maybe ([ImportDecl L],[S],L))) -> (HappyAbsSyn )-happyIn293 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyIn293 #-}-happyOut293 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleHead L), Maybe ([ImportDecl L],[S],L)))-happyOut293 x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOut293 #-}-happyInTok :: (Loc Token) -> (HappyAbsSyn )-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyInTok #-}-happyOutTok :: (HappyAbsSyn ) -> (Loc Token)-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x-{-# INLINE happyOutTok #-}---happyExpList :: HappyAddr-happyExpList = HappyA# "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x61\x81\xfc\xae\x81\xff\x5f\x68\x03\x23\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x06\xf9\x5d\x03\xff\xbf\xd0\x06\x46\xb0\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x0a\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xc1\xff\x05\x25\x10\x36\xc8\xef\x1a\xf8\xff\x85\x36\x30\x86\x0d\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\xb0\x01\xfc\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x17\x94\x00\x18\x20\xbf\x6b\xe0\xff\x07\x58\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xfd\xff\x07\xf5\x32\x76\xc8\xef\x1a\xf8\xff\x85\x36\x30\x82\x0d\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xfb\xff\x1b\xea\x65\xec\x90\xdf\x35\xf0\xff\x0b\x6d\x60\x04\x1b\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xf7\xff\x17\x9c\x4b\xd8\x21\xbf\x6b\xe0\xff\x17\xda\xc0\x08\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xef\xff\x2f\x28\x97\xb0\x43\x7e\xd7\xc0\xff\x2f\xb4\x81\x11\x6c\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc0\x04\xf9\x5d\x03\xff\xbf\xc0\x02\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x90\x40\x41\x09\x00\x09\x30\x28\x00\xde\x7f\x00\x04\x00\x20\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xe0\xff\x82\x12\x00\x03\xe4\x77\x0d\xfc\xff\x00\x0b\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xc1\xff\x05\x25\x00\x06\xc8\xef\x1a\xf8\xff\x01\x16\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x83\xff\x0b\x4a\x00\x0c\x90\xdf\x35\xf0\xff\x03\x2c\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x17\x94\x40\x58\x20\xbf\x6b\xe0\xff\x17\xda\xc0\x08\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x61\x81\xfc\xae\x81\xff\x5f\x68\x03\x23\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x02\xf9\x5d\x03\xff\xbf\xd0\x06\x46\xb0\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\x41\x09\x84\x05\xf2\xbb\x06\xfe\x7f\xa1\x0d\x8c\x60\x03\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x0a\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x03\x00\x02\x40\x00\x00\x00\x00\x00\xf0\xff\x03\x2c\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x06\x00\x14\x04\x00\x00\x00\x00\x00\xe0\xfd\x07\x40\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x28\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xff\xff\xff\xff\xff\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x02\xf9\x5d\x03\xff\xbf\xd0\x06\x46\xb0\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x02\xf9\x5d\x03\xff\xbf\xd0\x06\x46\xb0\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x97\x94\x40\x58\x20\xbf\x6b\xe0\xff\x17\xda\xc0\x08\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc0\x04\xf9\x5d\x03\xff\x3f\xc0\x02\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x6d\x02\x05\x65\x02\x7c\xc0\xa0\x00\x78\xff\x01\x10\x00\x80\x0c\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0c\x12\x28\x28\x01\x20\x01\x06\x05\xc0\xfb\x0f\x80\x00\x00\x64\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x07\x09\x14\x94\x00\x90\x00\x83\x02\xe0\xfd\x07\x50\x00\x00\x32\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\xf7\x09\x1c\xd4\x0a\xd2\x01\x83\x02\xe0\xfd\x07\x50\x00\x00\x32\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0f\x12\x68\xa8\x01\x20\x01\x06\x05\xc0\xfb\x0f\xa0\x00\x00\x64\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1e\x24\x50\x70\x02\x40\x02\x0c\x0a\x80\xf7\x1f\x40\x01\x00\xc8\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3c\x48\xa0\xa0\x04\x80\x04\x18\x14\x00\xef\x3f\x00\x02\x00\x90\x01\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x17\x94\x40\x58\x20\xbf\x6b\xe0\xff\x17\xda\xc0\x08\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x28\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x02\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x83\xff\x2b\x4a\x20\x6c\x90\xdf\x35\xf8\xff\xfb\xed\x7e\x25\xff\xfd\x30\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x20\x00\x10\x00\x00\x00\x00\x00\xef\x3f\x00\x02\x00\x90\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\xd3\x04\x0e\x6a\x04\x48\x80\x41\x01\xf0\xfe\x03\x28\x00\x00\x19\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0f\x12\x28\x38\x01\x20\x01\x06\x05\xc0\xfb\x0f\xa0\x00\x00\x64\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x9b\x40\x41\x99\x00\x1d\x30\x28\x00\xde\x7f\x00\x04\x00\x20\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x08\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x18\x24\x50\x50\x02\x40\x02\x0c\x0a\x80\xf7\x1f\x00\x01\x00\xc8\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x08\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x06\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xfd\x07\x40\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0f\x12\x28\x28\x01\x20\x01\x06\x05\xc0\xfb\x0f\xa0\x00\x00\x64\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x14\x80\x82\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x51\x02\x61\x83\xfc\xae\x81\xff\x5f\x68\x03\x63\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa2\x04\xc2\x06\xf9\x5d\x03\xff\xbf\xd0\x06\xc6\xb0\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xc1\xff\x05\x25\x00\x06\xc8\xef\x1a\xf8\xff\x01\x16\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x36\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x00\x04\x20\x05\xe1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x80\x00\xa0\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xe0\xff\x82\x12\x08\x1b\xe4\x77\x0d\xfe\xff\x7e\x9b\x5f\xc9\x7f\x3f\x0c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x00\x00\x00\x0b\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xc1\xff\x05\x25\x00\x06\xc8\xef\x1a\xf8\xff\x01\x16\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x68\x82\xfc\xae\x81\xff\x1f\x60\x01\x00\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x02\xf9\x5d\x03\xff\xbf\xd0\x06\x46\xb0\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x03\x00\x00\x40\x00\x00\x00\x00\x00\xf0\xff\x03\x2c\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xfd\xff\x05\xf5\x12\x76\xc8\xef\x1a\xf8\xff\x85\x36\x30\x82\x0d\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xfb\xff\x0b\xca\x65\xec\x90\xdf\x35\xf0\xff\x0b\x6d\x60\x04\x1b\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x40\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xfe\xff\x82\x7a\x09\x3b\xe4\x77\x0d\xfc\xff\x42\x1b\x18\xc1\x06\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x10\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xe0\xff\x82\x12\x00\x03\xe4\x77\x0d\xfc\xff\x00\x0b\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xc1\xff\x05\x25\x00\x06\xc8\xef\x1a\xf8\xff\x01\x16\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x83\xff\x0b\x4a\x00\x0c\x90\xdf\x35\xf0\xff\x03\x2c\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x17\x94\x40\x58\x20\xbf\x6b\xe0\xff\x17\xda\xc0\x08\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x08\x02\x09\x00\x00\x00\x00\xc0\xff\x0f\xb0\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xe0\xff\x82\x12\x08\x0b\xe4\x77\x0d\xfc\xff\x42\x1b\x18\xc1\x06\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x03\x00\x00\x40\x00\x00\x00\x00\x00\xf0\xff\x03\x2c\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x07\x09\x14\x94\x00\x90\x00\x83\x02\xe0\xfd\x07\x50\x00\x00\x32\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\xfe\x2f\x28\x81\xb0\x40\x7e\xd7\xc0\xff\x2f\xb4\x81\x11\x6c\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x61\x81\xfc\xae\x81\xff\x5f\x68\x03\x23\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x02\xf9\x5d\x03\xff\xbf\xd0\x06\x46\xb0\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\x41\x09\x84\x05\xf2\xbb\x06\xfe\x7f\xa1\x0d\x8c\x60\x03\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x01\x00\x00\x00\x00\x00\x00\xf8\xff\x01\x16\x40\x90\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x60\x80\xfc\xae\x81\xff\x1f\x60\x01\x00\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x02\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\xfe\x2f\x28\x01\x30\x40\x7e\xd7\xc0\xff\x0f\xb0\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x01\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xef\xff\x2f\xa8\x97\xb0\x43\x7e\xd7\xc0\xff\x2f\xb4\x81\x11\x6c\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\xfe\x2f\x28\x81\xb0\x40\x7e\xd7\xc0\xff\x2f\xb4\x81\x11\x6c\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x61\x83\xfc\xae\x81\xff\x5f\x68\x03\x23\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xf7\xff\x17\x94\x4b\xd8\x21\xbf\x6b\xe0\xff\x17\xda\xc0\x08\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xdf\xff\x5f\x50\x2e\x61\x87\xfc\xae\x81\xff\x5f\x68\x03\x23\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x02\xf9\x5d\x03\xff\xbf\xd0\x06\x46\xb0\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\x41\x09\x84\x0d\xf2\xbb\x06\xfe\x7f\xa1\x0d\x8c\x62\x03\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xf7\xff\x17\x94\x4b\xd8\x21\xbf\x6b\xe0\xff\x17\xda\xc0\x08\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\xfe\x2f\x28\x81\xb0\x40\x7e\xd7\xc0\xff\x2f\xb4\x81\x11\x6c\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x61\x83\xfc\xae\x81\xff\x5f\x68\x03\xa3\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x83\xff\x0b\x4a\x20\x2c\x90\xdf\x35\xf0\xff\x0b\x6d\x60\x04\x1b\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x17\x94\x40\x58\x20\xbf\x6b\xe0\xff\x17\xda\xc0\x08\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x61\x83\xfc\xae\x81\xff\x5f\x68\x03\x23\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xe0\xff\x82\x12\x08\x0b\xe4\x77\x0d\xfc\xff\x42\x1b\x18\xc1\x06\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x41\x02\x05\x25\x00\x24\xc0\xa0\x00\x78\xff\x01\x14\x08\x80\x0c\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x68\x03\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\xfe\x2f\x28\x01\x30\x40\x7e\xd7\xc0\xff\x0f\xb0\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3c\x48\xa0\xa0\x04\x80\x04\x18\x14\x00\xef\x3f\x80\x02\x00\x90\x01\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x90\x40\x41\x09\x00\x09\x30\x28\x00\xde\x7f\x80\x04\x02\x60\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x80\x00\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x0b\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x20\x00\x00\x00\x00\x00\x00\x00\xff\x3f\xc0\x02\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x40\x00\x00\x00\x00\x00\x00\x00\xfe\x7f\x80\x05\x00\x60\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x80\x00\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x0b\x20\xc8\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x01\x00\x00\x00\x00\x00\x00\xf8\xff\x01\x16\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x28\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xff\xff\xff\xff\xff\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x7f\xf8\xbf\xa0\x04\xc0\x00\xf9\x5d\x83\xff\xff\xff\xff\xff\xbf\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x61\x81\xfc\xae\x81\xff\x5f\x68\x03\x23\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\xfe\x2f\x28\x81\xb0\x40\x7e\xd7\xc0\xff\x2f\xb4\x81\x11\x6c\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x02\xf9\x5d\x03\xff\xbf\xd0\x06\x46\xb0\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xc1\xff\x15\x25\x10\x36\xc8\xef\x1a\xf8\xff\x85\x36\x30\x86\x0d\x1c\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x17\x94\x40\x58\x20\xbf\x6b\xe0\xff\x17\xda\xc0\x08\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\xfe\x2f\x28\x81\xb0\x40\x7e\xd7\xc0\xff\x2f\xb4\x81\x11\x6c\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x03\x00\x02\x42\x00\x80\x00\x00\x00\xf0\xff\x03\x2c\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1e\x24\x50\x50\x02\x40\x02\x0c\x0a\x80\xf7\x1f\x40\x01\x00\xc8\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x90\x40\x41\x09\x00\x09\x30\x28\x00\xde\x7f\x00\x05\x00\x20\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x0a\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x41\x02\x05\x25\x00\x24\xc0\xa0\x00\x78\xff\x01\x14\x00\x80\x0c\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xf7\x1f\x00\x01\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3c\x48\xa0\xa0\x04\x80\x04\x18\x14\x00\xef\x3f\x80\x02\x00\x90\x01\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x51\x02\x61\x83\xfc\xae\x81\xff\x5f\x68\x71\x02\xf8\x0f\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x7f\xf8\xbf\xa0\x04\xc0\x00\xf9\x5d\x83\xff\xff\xff\xff\xff\xbf\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\xd0\x06\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x06\xf9\x5d\x83\xff\xbf\xdf\xee\x57\xf2\xdf\x0f\x03\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x06\x00\x04\x84\x00\x02\x01\x00\x00\xe0\xff\x07\x58\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x29\x00\x03\x21\x02\x40\x00\x00\x00\xf8\xff\x01\x16\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x03\x00\x02\x42\x00\x80\x00\x00\x00\xf0\xff\x03\x2c\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x57\x94\x40\xd8\x20\xbf\x6b\xe0\xff\x17\xda\xc0\x18\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\x41\x09\x84\x05\xf2\xbb\x06\xfe\x7f\xa1\x0d\x8c\x60\x03\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\xfe\x2f\x28\x81\xb0\x41\x7e\xd7\xc0\xff\x2f\xb4\x81\x11\x6c\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x08\x00\x02\x00\x01\xe0\x00\x00\x00\xf0\xff\x03\x2c\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x08\x00\x01\x00\x00\x00\x00\xc0\xff\x0f\xb0\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x20\x00\x04\x00\x00\x00\x00\x00\xff\x3f\xc0\x02\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x90\x40\x41\x09\x00\x09\x30\x28\x00\xde\x7f\x00\x05\x00\x20\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x80\x00\x10\x00\x00\x00\x00\x00\xfc\xff\x00\x0b\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x01\x20\x00\x00\x00\x00\x00\xf8\xff\x01\x16\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x40\x20\x00\x00\x00\x00\x00\xf0\xff\x03\x2c\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x90\x40\x41\x09\x00\x09\x30\x28\x00\xde\x7f\x00\x04\x00\x20\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x08\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x83\x04\x0a\x4a\x00\x48\x80\x41\x01\xf0\xfe\x03\x28\x00\x00\x19\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1e\x24\x50\x50\x02\x40\x02\x0c\x0a\x80\xf7\x1f\x40\x01\x00\xc8\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3c\x48\xa0\xa0\x04\x80\x04\x18\x14\x00\xef\x3f\x80\x02\x00\x90\x01\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x08\x00\x01\x00\x00\x00\x00\xc0\xff\x0f\xb0\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1e\x24\x50\x50\x02\x40\x02\x0c\x0a\x80\xf7\x1f\x40\x01\x00\xc8\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x90\x40\x41\x09\x00\x09\x30\x28\x00\xde\x7f\x00\x05\x00\x20\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xe0\xff\x82\x12\x08\x1b\xe4\x77\x0d\xfe\xff\x7e\x9b\x5f\xc9\x7f\x3f\x0c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x03\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\xfe\xaf\x28\x81\xb0\x41\x7e\xd7\xc0\xff\x2f\xb4\x81\x11\x6c\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x61\x81\xfc\xae\x81\xff\x5f\xe8\x03\x23\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x61\x81\xfc\xae\x81\xff\x5f\x68\x03\x23\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x20\x00\x24\x00\x00\x00\x00\x00\xff\x3f\xc0\x02\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x17\x94\x00\x18\x20\xbf\x6b\xe0\xff\x07\x58\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\xfe\x2f\x28\x81\xb0\x40\x7e\xd7\xc0\xff\x2f\xb4\x81\x11\x6c\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x61\x83\xfc\xae\x81\xff\x5f\x68\x03\xa3\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x02\xf9\x5d\x03\xff\xbf\xd0\x06\x46\xb0\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xc1\xff\x05\x25\x10\x36\xc8\xef\x1a\xf8\xff\x85\x36\x30\x8a\x0d\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xe0\xff\x82\x12\x08\x0b\xe4\x77\x0d\xfc\xff\x42\x1b\x18\xc1\x06\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xc1\xff\x05\x25\x10\x36\xc8\xef\x1a\xf8\xff\x85\x36\x30\x82\x0d\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xff\x01\x16\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x00\x40\x40\x08\x00\x10\x00\x00\x00\xfe\x7f\x80\x05\x00\x60\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\x41\x09\x84\x05\xf2\xbb\x06\xfe\x7f\xa1\x0d\x8c\x60\x03\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xe0\xff\x82\x12\x08\x1b\xe4\x77\x0d\xfc\xff\x42\x1b\x18\xc1\x06\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x08\x04\x00\x00\x00\x00\x00\x00\x20\xfc\x07\x40\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x01\x00\x00\x14\x80\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x0a\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xc1\xff\x05\x25\x10\x36\xc8\xef\x1a\xf8\xff\x85\x36\x30\x82\x0d\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x83\xff\x0b\x4a\x20\x6c\x90\xdf\x35\xf0\xff\x0b\x6d\x60\x04\x1b\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xff\x07\x58\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0f\x12\x28\x28\x01\x20\x01\x06\x05\xc0\xfb\x0f\xa0\x00\x00\x64\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xff\x1f\x60\x01\x00\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x7f\x80\x05\x00\x60\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x02\x00\x04\x00\x00\x00\x00\x00\x00\xe0\xff\x07\x58\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x08\x00\x10\x00\x00\x00\x00\x00\x00\x80\xff\x1f\x60\x01\x00\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x02\x00\x00\x00\x00\x00\x00\xf0\xff\x03\x2c\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x04\x00\x00\x00\x00\x00\x00\xe0\xff\x07\x58\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\xa0\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xc1\xff\x05\x25\x00\x06\xc8\xef\x1a\xf8\xff\x01\x16\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x32\x00\x20\x20\x04\x00\x08\x00\x00\x00\xff\x3f\xc0\x02\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\x00\x80\x80\x10\x00\x20\x00\x00\x00\xfc\xff\x00\x0b\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x17\x94\x40\x58\x20\xbf\x6b\xe0\xff\x17\xda\xc0\x08\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x02\xf9\x5d\x03\xff\xbf\xd0\x02\x04\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\x41\x09\x84\x0d\xf2\xbb\x06\xfe\x7f\xa1\xc5\x09\xe0\x3f\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x19\x00\x10\x00\x03\x00\x00\x00\x00\x80\xff\x1f\x60\x01\x04\xf9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x00\x00\xa0\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x03\x00\x02\x40\x00\x00\x00\x00\x00\xf0\xff\x03\x2c\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x32\x00\x20\x20\x04\x00\x08\x00\x00\x00\xff\x3f\xc0\x02\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x17\x94\x40\x58\x20\xbf\x6b\xe0\xff\x17\xda\xc0\x08\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\xb0\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x02\xf9\x5d\x03\xff\xbf\xd0\x06\x46\xb0\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x40\x00\x00\x00\x00\x00\x00\x00\xfe\x7f\x80\x05\x00\x60\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x0a\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x07\x09\x14\x94\x00\x90\x00\x83\x02\xe0\xfd\x07\x50\x00\x00\x32\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0f\x12\x28\x28\x01\x20\x01\x06\x05\xc0\xfb\x0f\x80\x00\x00\x64\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0c\x00\x08\x08\x01\x00\x02\x00\x00\xc0\xff\x0f\xb0\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x10\x00\x00\x00\x00\x00\x00\x80\xf7\x1f\x00\x01\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3c\x48\xa0\xa0\x04\x80\x04\x18\x14\x00\xef\x3f\x80\x02\x00\x90\x01\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x83\x04\x0a\x4a\x00\x48\x80\x41\x01\xf0\xfe\x03\x28\x00\x00\x19\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x19\x00\x10\x10\x02\x00\x04\x00\x00\x80\xff\x1f\x60\x01\x00\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\xef\x3f\x00\x02\x00\x90\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\xe1\x3f\x00\x02\x00\x90\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x20\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x81\x00\x00\x00\x00\x00\x00\x00\x84\xff\x00\x08\x00\x40\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x04\x00\x00\x00\x00\x00\x00\xe0\xff\x07\x58\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0f\x12\x28\x28\x01\x20\x01\x06\x05\xc0\xfb\x0f\xa0\x00\x00\x64\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x90\x40\x41\x09\x00\x09\x30\x28\x00\xde\x7f\x00\x04\x00\x20\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x00\x00\x00\x06\x80\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x83\xff\x0b\x4a\x20\x2c\x90\xdf\x35\xf0\xff\x0b\x6d\x60\x04\x1b\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x17\x94\x40\xd8\x20\xbf\x6b\xe0\xff\x17\xda\xc0\x08\x36\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x02\xf9\x5d\x03\xff\xbf\xd0\x06\x46\xb0\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\x41\x09\x84\x05\xf2\xbb\x06\xfe\x7f\xa1\x0d\x8c\x60\x03\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xe0\xff\x82\x12\x08\x0b\xe4\x77\x0d\xfc\xff\x42\x1b\x18\xc1\x06\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x10\x00\x08\x00\x00\x00\x00\x80\xf7\x1f\x00\x01\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x90\x40\x41\x09\x00\x0b\x30\x28\x00\xde\x7f\x00\x04\x00\x20\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x08\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\xde\x27\x70\x50\x2b\x48\x07\x0c\x0a\x80\xf7\x1f\x40\x01\x00\xc8\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x80\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x83\xff\x0b\x4a\x20\x2c\x90\xdf\x35\xf0\xff\x0b\x6d\x60\x04\x1b\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x90\x40\x41\x09\x00\x09\x30\x28\x00\xde\x7f\x00\x04\x00\x20\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\xff\x01\x10\x00\x80\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x08\x00\x04\x00\x00\x00\x00\xc0\xfb\x0f\x80\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3c\x48\xa0\xa0\x04\x80\x04\x18\x14\x00\xef\x3f\x00\x02\x00\x90\x01\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xff\x00\x0b\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x40\x00\x00\x00\x00\x00\x00\x00\xfe\x7f\x80\x05\x00\x60\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xff\x01\x16\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x61\x81\xfc\xae\x81\xff\x5f\x68\x03\x23\xd8\xc0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x80\x01\x80\x00\x00\x00\x00\x00\xfc\xff\x00\x0b\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x03\x00\x02\x40\x00\x00\x00\x00\x00\xf0\xff\x03\x2c\x80\x20\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x28\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xff\xff\xff\xff\xff\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\x00\x80\x80\x10\x00\x20\x00\x00\x00\xfc\xff\x00\x0b\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xff\xff\xff\xff\xff\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0f\xfe\x2f\x28\x81\xb0\x40\x7e\xd7\xc0\xff\x2f\xb4\x81\x11\x6c\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x41\x02\x05\x25\x00\x24\xc0\xa0\x00\x78\xff\x01\x14\x00\x80\x0c\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1e\x24\x50\x50\x02\x40\x02\x0c\x0a\x80\xf7\x1f\x40\x01\x00\xc8\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x57\x94\x40\xd8\x20\xbf\x6b\xe0\xff\x57\x5a\x80\x42\xf6\x03\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x3f\x00\x02\x00\x90\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\xc1\xff\x15\x25\x10\x36\xc8\xef\x1a\xf8\xff\xb5\x16\x27\x90\xff\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x18\x24\x50\x50\x02\x40\x02\x0c\x0a\x80\xf7\x1f\x00\x01\x00\xc8\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x82\x40\x00\x00\x00\x00\x00\xf0\xff\x03\x2c\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x06\x09\x14\x94\x00\x90\x00\x83\x02\xe0\xfd\x07\x40\x00\x00\x32\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x18\x24\x50\x50\x02\x40\x02\x0c\x0a\x80\xf7\x1f\x00\x01\x00\xc8\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x80\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1e\x24\x70\x50\x02\x40\x02\x0c\x0a\x80\xf7\x1f\x40\x01\x00\xc8\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\x41\x09\x84\x05\xf2\xbb\x06\xfe\x7f\xa1\x0d\x8c\x60\x03\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x08\x00\x10\x00\x01\x00\x00\x00\x00\x80\xff\x1f\x60\x01\x00\xf9\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x08\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3f\xf8\xbf\xa0\x04\xc2\x02\xf9\x5d\x03\xff\xbf\xd0\x02\x04\xb0\x1f\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x90\x40\x41\x09\x00\x09\x30\x28\x00\xde\x7f\x80\x04\x02\x20\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x07\x09\x14\x94\x00\x90\x00\x83\x02\xe0\xfd\x07\x50\x00\x00\x32\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x06\x09\x14\x94\x00\x90\x00\x83\x02\xe0\xfd\x07\x40\x00\x00\x32\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1e\x24\x50\x50\x02\x40\x02\x0c\x0a\x80\xf7\x1f\x40\x01\x00\xc8\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3c\x48\xa0\xa0\x04\x80\x04\x18\x14\x00\xef\x3f\x80\x02\x00\x90\x01\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x7f\x00\x04\x00\x20\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xe0\xff\x8a\x12\x08\x1b\xe4\x77\x0d\xfc\xff\x42\x8b\x13\xc0\x7f\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x1e\x24\x50\x50\x02\x40\x02\x0c\x0a\x80\xf7\x1f\x40\x01\x00\xc8\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x02\x00\x04\x00\x04\x00\x00\x00\x00\xe0\xff\x07\x58\x00\x00\x36\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xf0\x7f\x41\x09\x84\x05\xf2\xbb\x06\xfe\x7f\xa1\x0d\x8c\x60\x03\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xfb\x0f\x80\x00\x00\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x07\xff\x17\x94\x40\xd8\x20\xbf\x6b\xe0\xff\x57\x5a\x80\x42\xf6\x03\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x90\x40\x41\x09\x00\x09\x30\x28\x00\xde\x7f\x00\x04\x00\x20\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x0a\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x00\x00\xa0\x0d\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x07\x09\x14\x94\x00\x90\x00\x83\x02\xe0\xfd\x07\x40\x00\x00\x32\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x1f\xfc\x5f\x50\x02\x61\x83\xfc\xae\x81\xff\x5f\x6b\x71\x02\xf9\x0f\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x80\x00\x10\x00\x00\x00\x00\x00\xfc\xff\x00\x0b\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x41\x02\x05\x25\x00\x24\xc0\xa0\x00\x78\xff\x01\x14\x00\x80\x0c\x80\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x83\x04\x4a\x4a\x00\x48\x80\x41\x01\xf0\xfe\x03\x28\x00\x00\x19\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x08\x00\x00\x00\x00\x00\x00\xc0\xff\x0f\xb0\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x80\x01\x80\x00\x00\x00\x00\x00\xfc\xff\x00\x0b\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x01\x00\x02\x00\x00\x00\x00\x00\x00\xf0\xff\x03\x2c\x00\x20\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x02\x00\x20\x00\x04\x00\x00\x00\x00\x00\xff\x3f\xc0\x02\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x07\x09\x14\x94\x00\x90\x00\x83\x02\xe0\xfd\x07\x50\x00\x00\x32\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x00\x40\x40\x08\x00\x10\x00\x00\x00\xfe\x7f\x80\x05\x00\x60\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x0a\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x0f\x12\x28\x28\x01\x20\x01\x06\x05\xc0\xfb\x0f\xa0\x00\x00\x64\x00\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x3c\x48\xa0\xa0\x04\x80\x04\x18\x14\x00\xef\x3f\x80\x02\x00\x90\x01\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x90\x40\x41\x09\x00\x09\x30\x28\x00\xde\x7f\x00\x05\x00\x20\x03\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0c\x00\x08\x08\x01\x00\x02\x00\x00\xc0\xff\x0f\xb0\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x10\x00\x00\x00\x00\x00\x00\x80\xf7\x1f\x00\x01\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x01\x00\x00\x00\x00\x00\x00\xf8\xff\x01\x16\x00\x80\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x20\x81\x82\x12\x00\x12\x60\x50\x00\xbc\xff\x00\x0a\x00\x40\x06\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--{-# NOINLINE happyExpListPerState #-}-happyExpListPerState st =- token_strs_expected- where token_strs = ["error","%dummy","%start_mparseModule","%start_mparseExp","%start_mparsePat","%start_mparseDeclAux","%start_mparseType","%start_mparseStmt","%start_mparseImportDecl","%start_ngparseModulePragmas","%start_ngparseModuleHeadAndImports","%start_ngparsePragmasAndModuleHead","%start_ngparsePragmasAndModuleName","modules","modules1","page","topxml","toppragmas","toppragmasaux","toppragma","conids","module","optmodulehead","maybemodwarning","body","bodyaux","semis","optsemis","maybeexports","exports","optcomma","exportlist","export","export_names","cname_w_wildcard","qcname","impdecls","impdecl","optsrc","optsafe","optqualified","maybepkg","maybeas","maybeimpspec","impspec","opthiding","importlist","importspec","import_names","cname","fixdecl","prec","infix","ops","opt_injectivity_info","injectivity_info","inj_varids","topdecls","topdecls1","topdecl","opt_datafam_kind_sig","opt_tyfam_kind_sig","opt_at_kind_inj_sig","opt_at_kind_inj_sig2","role_annot","roles","role","optoverlap","where_type_family","ty_fam_inst_eqn_list","ty_fam_inst_eqns","ty_fam_inst_eqn","data_or_newtype","typelist","decls","decls1","decl","decllist","signdecl","signdecl0","specinldecl","sigtypes","sigtype","name_boolformula","name_boolformula1","name_boolformula_and","name_boolformula_atom","binds","vars","callconv","safety","fspec","rules","rule","activation","ruleforall","rulevars","rulevar","warndeprs","warndepr","namevars","namevar","annotation","truedtype","dtype","truetype","type","truebtype","trueatype","btype","atype","ptype","strict_mark","strictness","unpackedness","gtycon","otycon","qtyconop","truectype","ctype","context","types","types1","types_bars2","ktyvars","ktyvar","tyvars","tyvars1","fds","fds1","fd","gadtlist","gadtconstrs1","gadtconstrs","gadtconstr","constrs0","constrs","constr","forall","constr1","scontype","fielddecls","fielddecl","maybe_derivings","derivings","deriving","dclasses","qtycls1","kind","kind1","bkind","akind","pkind","comma_kinds1","optkind","opt_tyconsig","optcbody","cldecls","cldecls1","cldecl","opt_family","atdecl","optvaldefs","valdefs","valdefs1","insvaldef","atinst","valdef","optwhere","optsig","rhs","gdrhs","gdrh","trueexp","exp","exp0","exp0a","exp0b","exp10a","optlayoutsemi","opthsxsemi","exp10b","exppragma","fexp","apats","apat","aexp","aexp1","aexp2","tup_exprs","commas_tup_tail","tup_tail","commas","bars","bars0","texp","sexps","erpats","xml","children","child","name","xmlname","xmlkeyword","attrs","attr","mattr","list","lexps","pqualstmts","qualstmts","qualstmt","transformqual","quals","qual","parr","altslist","alts","alts1","alt","ralt","gdpats","gdpat","pat","ifaltslist","ifalts","ifalts1","stmtlist","stmts","stmts1","stmt","fbinds","fbind","ipbinds","ipbinds1","ipbind","gcon","gcon_nolist","sysdcon_nolist","sysdcon","var","var_no_safety","qvar","ivar","con","con_list","qcon","varop","qvarop","qvaropm","conop","qconop","op","qop","qopm","gconsym","overloaded_label","qvarid","varid_no_safety","varid","ivarid","qconid","conid","qconsym","consym","qvarsym","qvarsymm","varsym","varsymm","qvarsym1","literal","open","close","pat_syn","pattern_synonym_decl","pattern_synonym_lhs","vars0","commavars","where_decls","pattern_synonym_sig","pstype","deriv_strategy","modid","tyconorcls","qtyconorcls","tyvar","tyvarid","qtyvarop","tyvarsym","impdeclsblock","moduletopname","moduletophead","moduletopimps","VARID","LABELVARID","QVARID","IDUPID","ILINID","CONID","QCONID","DVARID","VARSYM","CONSYM","QVARSYM","QCONSYM","INT","RATIONAL","CHAR","STRING","PRIMINT","PRIMWORD","PRIMFLOAT","PRIMDOUBLE","PRIMCHAR","PRIMSTRING","'('","')'","'(#'","'#)'","';'","'{'","'}'","vccurly","'['","']'","'[:'","':]'","','","'_'","'`'","'.'","'..'","':'","'::'","'='","'\\\\'","'|'","'<-'","'->'","'@'","TYPEAPP","'~'","'=>'","'-'","'!'","'*'","'-<'","'>-'","'-<<'","'>>-'","'(|'","'|)'","'@:'","IDSPLICE","'$('","'[|'","'[p|'","'[t|'","'[d|'","'|]'","VARQUOTE","TYPQUOTE","QUASIQUOTE","PCDATA","'<'","'</'","'<%'","'<%>'","'>'","'/>'","'%>'","'<['","']>'","'foreign'","'export'","'safe'","'unsafe'","'threadsafe'","'interruptible'","'stdcall'","'ccall'","'cplusplus'","'dotnet'","'jvm'","'js'","'javascript'","'capi'","'as'","'by'","'case'","'class'","'data'","'default'","'deriving'","'do'","'else'","'family'","'forall'","'group'","'hiding'","'if'","'import'","'in'","'infix'","'infixl'","'infixr'","'instance'","'let'","'mdo'","'module'","'newtype'","'of'","'proc'","'rec'","'then'","'type'","'using'","'where'","'qualified'","'role'","'pattern'","'stock'","'anyclass'","'{-# INLINE'","'{-# INLINE CONLIKE'","'{-# SPECIALISE'","'{-# SPECIALISE INLINE'","'{-# SOURCE'","'{-# RULES'","'{-# CORE'","'{-# SCC'","'{-# GENERATED'","'{-# DEPRECATED'","'{-# WARNING'","'{-# UNPACK'","'{-# NOUNPACK'","'{-# OPTIONS'","'{-# LANGUAGE'","'{-# ANN'","'{-# MINIMAL'","'{-# NO_OVERLAP'","'{-# OVERLAP'","'{-# OVERLAPS'","'{-# OVERLAPPING'","'{-# OVERLAPPABLE'","'{-# INCOHERENT'","'{-# COMPLETE'","'#-}'","%eof"]- bit_start = st * 449- bit_end = (st + 1) * 449- read_bit = readArrayBit happyExpList- bits = map read_bit [bit_start..bit_end - 1]- bits_indexed = zip bits [0..448]- token_strs_expected = concatMap f bits_indexed- f (False, _) = []- f (True, nr) = [token_strs !! nr]--happyActOffsets :: HappyAddr-happyActOffsets = HappyA# "\x00\x00\x75\x29\xa8\x25\x42\x00\x3f\x18\x7c\x23\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x60\x03\x67\x00\x50\x01\x6a\x01\x0b\x02\xc1\x01\x4e\x02\x4e\x02\xda\xff\xdc\x01\x00\x00\x45\x02\x00\x00\x00\x00\x48\x1e\x00\x00\x00\x00\x00\x00\x5a\x2c\x00\x00\x7d\x02\x00\x00\x00\x00\x97\x02\x38\x02\x00\x00\x00\x00\x00\x00\x2a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x1e\x24\x1f\xc5\x20\x66\x22\x00\x00\xf8\x2a\x3e\x1d\x5a\x2c\x5a\x2c\x5a\x2c\x75\x29\x00\x00\x75\x29\x75\x29\x75\x29\x3f\x18\x00\x00\x59\x2e\xd4\x31\x00\x00\x7b\x34\x75\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x29\x03\x03\x00\x00\x00\x00\x00\x00\x33\x26\x0b\x03\x35\x03\xe4\x2b\x35\x03\x00\x00\x00\x00\x00\x00\x00\x00\x59\x03\x5e\x03\x62\x03\x00\x00\x00\x00\xdb\x13\x00\x00\x00\x00\x3e\x1d\x00\x00\xc8\x01\x00\x00\x00\x00\xe0\x02\x00\x00\x3f\x18\x57\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x13\x2d\x15\x99\x15\x06\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x75\x29\x39\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x02\xf3\x02\xf5\x02\x00\x00\x00\x00\x00\x00\xf5\x02\x81\x03\x0e\x03\x00\x00\x0e\x03\x1f\x00\x00\x00\x00\x00\xa0\x03\x7b\x34\x0f\x03\x30\x01\x00\x00\x5c\x03\x00\x00\x00\x00\xb0\x03\x00\x00\xec\x0d\x5a\x00\x00\x00\x00\x00\x0a\x33\x00\x00\x00\x00\x00\x00\x4e\x14\x69\x01\x05\x16\xbe\x03\xbb\x03\xba\x14\xc2\x03\x00\x00\xc5\x03\xc9\x03\x00\x00\xe1\x03\x9a\x01\x59\x01\xca\x01\x00\x00\x00\x00\x24\x02\x47\x04\xaa\x00\x71\x04\x00\x00\x00\x00\x75\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x78\x04\x00\x00\x7d\x04\x00\x00\x3e\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x1d\x00\x00\x00\x00\x3e\x1d\x00\x00\x00\x00\x40\x33\x3f\x18\x00\x00\x00\x00\x00\x00\xb2\x08\x99\x04\x02\x04\x11\x04\x00\x00\xf1\x22\xf1\x22\xb8\x04\x00\x00\x5a\x2c\x00\x00\x7b\x04\xdd\x04\x00\x00\x00\x00\x00\x00\x00\x00\x8f\x04\x3a\x00\xbd\x04\x00\x00\xec\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x19\xfe\x01\x21\x05\x00\x00\x00\x00\x78\x0e\x20\x0f\x0a\x05\x1a\x05\x1d\x05\x3b\x05\x6d\x05\x62\x05\x43\x01\x00\x00\x5a\x2c\x00\x00\x00\x00\x00\x00\x6e\x2b\x00\x00\x78\x05\x79\x05\x0e\x01\x8e\x05\x98\x05\x00\x00\x00\x00\x75\x29\x00\x00\x00\x00\x00\x00\x61\x2f\x00\x00\x41\x03\x97\x05\x9e\x05\x00\x00\xac\x05\xaf\x1f\x50\x21\xd1\x02\x00\x00\x00\x00\xdd\x02\xc0\x05\x3a\x20\xa6\x01\xc7\x05\xd9\x05\xdd\x05\xe0\x05\xe7\x05\x00\x00\x5a\x2c\x5a\x2c\x5a\x2c\x75\x29\x74\x2e\x00\x00\x00\x00\x00\x00\x75\x29\x00\x00\x61\x2f\x3f\x18\x75\x29\x75\x29\x75\x29\x75\x29\xb0\x05\x74\x05\x33\x00\x00\x00\x30\x01\x5a\x00\x00\x00\x00\x00\x00\x00\x7c\x2f\x00\x00\xb7\x05\x00\x00\x5a\x2c\x86\x05\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x02\x5a\x2c\x0d\x06\x1a\x06\x11\x01\x0b\x00\x20\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x06\x3c\x06\x00\x00\x00\x00\x30\x06\x3a\x06\x3d\x06\x22\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x21\x45\x06\x00\x00\x00\x00\x54\x06\x00\x00\x00\x00\x00\x00\x75\x29\xbe\x26\x00\x00\x58\x06\x00\x00\x00\x00\x00\x00\x66\x22\x00\x00\x66\x22\x75\x29\x07\x24\x63\x06\x00\x00\x00\x00\x66\x22\x75\x29\x07\x24\x00\x00\x00\x00\x72\x06\x00\x00\x75\x29\x75\x29\x00\x00\x49\x27\x00\x00\x00\x00\x75\x29\x00\x00\x00\x00\x00\x00\x9f\x06\x5a\x00\x00\x00\x00\x00\x00\x00\x71\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x14\x00\x00\x00\x00\x00\x00\x5a\x2c\x38\x00\x3f\x18\x2e\x06\x9d\x06\x9f\x02\x00\x00\x00\x00\x00\x00\x8f\x06\x00\x00\xa5\x18\x4d\x31\xb3\x06\xb3\x06\x21\x00\xb3\x06\xd1\x06\x68\x31\x68\x31\x7c\x2f\xb6\x31\x53\x02\xcd\x06\x00\x00\x7b\x34\x00\x2a\x00\x00\xaf\x06\x00\x00\x00\x00\x00\x00\x00\x00\x75\x29\xe3\x06\x6c\x02\xec\x06\x5a\x00\x94\x06\x00\x00\x75\x29\x00\x00\x75\x29\x00\x07\x0e\x07\xf1\x22\x5a\x00\x75\x29\x75\x29\xf9\x06\x00\x00\x00\x00\x09\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x2d\x00\x00\x00\x00\x18\x19\x00\x00\x18\x19\x18\x19\x18\x19\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x03\x00\x00\x9d\x02\x41\x01\xd2\x02\x00\x00\x00\x00\xe3\x33\x18\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x10\x18\x07\x27\x07\x5a\x00\x5a\x00\x8e\x03\xeb\x06\x00\x00\x00\x00\x00\x2a\x03\x07\x3b\x07\x4e\x07\x5d\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x02\x00\x00\x00\x00\x45\x07\x10\x07\x86\x0e\x60\x07\x60\x07\x00\x00\x59\x07\x00\x00\x00\x00\x70\x07\x00\x00\x00\x00\x00\x00\x82\x07\x00\x00\x4d\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x2c\xd4\x2d\x00\x00\x00\x00\x94\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x22\x00\x00\x00\x00\x00\x00\x75\x29\x00\x00\x00\x00\x00\x00\x00\x00\x49\x27\x00\x00\x00\x00\x29\x00\x61\x07\x00\x00\x7b\x07\x00\x00\xda\x01\x85\x03\xc1\x03\xce\x03\xea\x03\xee\x03\x55\x04\xa8\x04\xed\x04\xfb\x04\x1c\x05\x60\x05\x8c\x05\xd1\x05\x05\x06\x09\x06\x16\x06\x40\x06\x4c\x06\x6a\x06\x89\x06\x00\x00\x88\x07\x8a\x07\xbe\x07\x28\x07\x00\x00\xa8\x07\xba\x07\x00\x00\xf0\x2d\x51\x07\x17\x00\x00\x00\xd0\x07\xd1\x07\x30\x00\x39\x00\x00\x00\xd7\x07\xcb\x30\x46\x00\xcb\x30\x18\x19\xcb\x30\xcb\x30\xc5\x2f\xcf\x07\x90\x04\x22\x03\xd8\x07\x06\x1c\x3e\x1d\x74\x02\x18\x19\x6e\x07\x76\x07\x78\x07\x84\x07\x8c\x07\x98\x07\xb3\x07\x00\x00\x00\x00\x00\x00\x18\x19\x18\x19\x0d\x08\x30\x07\x30\x07\x00\x05\x00\x05\xcb\x30\x18\x19\x08\x04\x18\x19\x20\x0f\x20\x08\xfb\x07\xbb\x01\x00\x00\x00\x00\xac\x01\x00\x00\x24\x08\x31\x08\x00\x00\x00\x00\x92\x24\x36\x08\x00\x00\x5a\x00\x2d\x08\x39\x08\x00\x00\x00\x00\x00\x00\xd4\x27\x00\x00\x6e\x00\x00\x00\x00\x00\x32\x08\x00\x00\xfb\x02\x00\x00\x33\x08\x00\x00\x00\x00\x34\x08\x00\x00\x00\x00\x00\x00\x75\x29\x46\x2f\x00\x00\x00\x00\x00\x00\x4d\x08\x00\x00\x1b\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x5c\x08\x5a\x2c\x00\x00\x4e\x08\x52\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x04\x00\x00\x00\x00\x00\x00\x75\x29\x1d\x25\x75\x29\x0c\x08\x03\x00\x1d\x25\x00\x00\x00\x00\x00\x00\x00\x00\x95\x06\xff\x07\x75\x29\x5f\x28\x00\x00\x53\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x31\x00\x00\x00\x00\x2d\x04\x15\x08\xfe\x07\xd4\x2d\x16\x08\xab\x06\x37\x01\x00\x00\x01\x08\x55\x08\x00\x00\x75\x29\x5f\x28\x0f\x08\x6f\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x16\x10\x08\x00\x00\x60\x08\x72\x08\x00\x00\x68\x08\x00\x00\x8f\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x08\x00\x00\xc2\x09\x66\x08\x00\x00\x4c\x04\x18\x19\xea\x28\xea\x28\xc1\x32\x84\x19\xc1\x32\x00\x00\xc1\x32\x8b\x02\xf9\x07\xfa\x07\xfc\x07\x6d\x08\x78\x08\x8d\x08\x73\x08\x3d\x08\x9d\x08\x00\x00\x68\x31\x00\x00\x68\x31\x00\x00\x00\x00\x00\x00\x9a\x08\x22\x32\x22\x32\x00\x00\x18\x08\x99\x05\x00\x00\x00\x00\x5a\x2c\x00\x00\x00\x00\xce\x02\x78\x02\x99\x08\x00\x00\x83\x08\x95\x08\x94\x08\xa2\x08\x00\x00\x00\x00\xd4\x2d\x00\x00\xd4\x2d\x00\x00\x00\x00\x75\x29\xd0\x04\xa0\x08\x82\x2a\x4f\x11\xa0\x08\x22\x08\x26\x08\x42\x08\x00\x00\xe1\x2c\x00\x00\x64\x04\x00\x00\x00\x00\xae\x08\xa7\x08\x00\x00\x00\x00\xb5\x08\xc2\x09\x00\x00\xd8\x04\xdd\x2e\xe9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x08\x00\x00\xb6\x08\x00\x00\x00\x00\xd4\x2d\x00\x00\xc2\x08\x69\x08\x00\x00\x75\x29\x00\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x29\x3d\x32\xf0\x19\xb3\x08\x00\x00\xf0\x19\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x08\xb8\x08\x00\x00\x00\x00\x06\x1c\x00\x00\x00\x00\x00\x00\x61\x08\x00\x00\x00\x00\xad\x08\xd4\x2d\x95\x33\xf0\x19\x4c\x00\x00\x00\xc4\x08\xf0\x19\x00\x00\x00\x00\xd4\x2d\xaf\x33\xbe\x08\x00\x00\x00\x00\xce\x08\x00\x00\xc9\x08\x00\x00\x1e\x17\x9c\x02\x3f\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x08\xa1\x03\x00\x00\x00\x00\x00\x00\x58\x32\xf0\x19\xd6\x08\x00\x00\xa4\x1d\x00\x00\x00\x00\x90\x08\xe8\x08\x00\x00\xa4\x08\x00\x00\x9f\x02\xa4\x08\x81\x08\xe3\x08\xe5\x08\xbb\x01\x00\x00\x00\x00\x8e\x08\xe0\x08\x00\x00\x75\x29\xea\x28\xf2\x08\x00\x00\x75\x29\x75\x29\x75\x29\x00\x00\xeb\x08\x00\x00\xb0\x08\xa8\x08\xbd\x06\x50\x00\x00\x00\x00\x00\x13\x00\xd8\x04\x00\x00\x00\x00\x9b\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x08\x00\x00\x0d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x25\x33\x82\x00\x56\x1a\xa4\x1d\x00\x00\x00\x00\xfc\x08\xff\x08\x6f\x13\xb4\x08\x00\x00\x00\x00\x9c\x02\x75\x29\x00\x00\x00\x00\x09\x09\xfa\x08\x0a\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x08\x00\x00\xe3\x33\x00\x00\x11\x09\x7a\x33\x00\x00\x06\x1c\x00\x00\xc1\x32\x9e\x08\x17\x09\x00\x00\x00\x00\xa1\x08\x0e\x09\x8b\x32\x00\x00\xc1\x32\x14\x09\xf7\x08\x00\x00\x75\x29\x13\x09\x1e\x09\x32\x09\x00\x00\x00\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x2f\x38\x09\x68\x2d\x00\x00\x22\x04\x7b\x34\x00\x00\x00\x00\x36\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x2d\x45\x09\x00\x00\x7b\x34\x75\x29\x2b\x09\x00\x00\x00\x00\x00\x00\xc2\x1a\x00\x00\x00\x00\x00\x00\x2e\x1b\x00\x00\x00\x00\x27\x09\x00\x00\x42\x09\xd6\x11\x46\x09\x5a\x00\xe3\x33\x00\x00\x00\x00\xba\x0f\x47\x09\x5a\x00\x00\x00\x0a\x1e\x00\x00\x00\x00\x00\x00\x4a\x09\x47\x30\x6c\x1c\x00\x00\x0a\x1e\x60\x09\x00\x00\x2d\x02\x4c\x09\x5a\x00\x00\x00\x00\x00\xe4\x16\x00\x00\x75\x29\x00\x00\x00\x00\x00\x00\x5f\x09\x00\x00\xf8\x2e\x00\x00\x55\x09\x68\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x09\x00\x00\x0a\x1e\x5f\x01\xbb\x02\x00\x00\x00\x00\x69\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x09\xe4\x12\x50\x17\xfd\x33\x00\x00\x00\x00\x9a\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x1e\x00\x00\x9a\x1b\x9a\x1b\x17\x34\xc8\x10\x6a\x09\x5a\x00\x00\x00\x00\x00\x9a\x1b\x00\x00\x3a\x09\xed\x08\x00\x00\x00\x00\x04\x31\x3d\x09\x00\x00\x00\x00\x75\x29\x00\x00\x72\x09\x00\x00\x00\x00\x17\x34\x00\x00\xcb\x06\x00\x00\x62\x09\x83\x00\x66\x09\x5d\x12\x76\x09\xc9\x04\xd3\x04\xd8\x1c\x9a\x1b\x00\x00\x6e\x0d\xd8\x1c\x00\x00\x41\x10\x76\x09\x00\x00\xe9\x30\x9a\x1b\xd3\x17\x34\x03\x76\x09\x00\x00\x7d\x09\x74\x09\x00\x00\x00\x00\x00\x00\x8a\x09\xa6\x32\xae\x02\x00\x00\x00\x00\x62\x30\x8d\x09\x7d\x30\x00\x00\x00\x00\x00\x00\xe9\x30\x00\x00\x00\x00\x00\x00\x80\x09\x9a\x1b\x00\x00\x37\x05\x00\x00\xd4\x2d\x9a\x1b\x50\x09\x2f\x09\x00\x00\x9a\x1b\x00\x00\x9a\x1b\x9a\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x09\x00\x00\x8f\x09\x00\x00\x00\x00\xd4\x2d\xc9\x33\x00\x00\x00\x00\x7f\x03\x00\x00\x00\x00\x48\x03\x00\x00\x00\x00\xa7\x09\x00\x00\x00\x00\x68\x31\x92\x09\x95\x09\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x1b\x00\x00\x00\x00\x00\x00"#--happyGotoOffsets :: HappyAddr-happyGotoOffsets = HappyA# "\x02\x00\x7d\x38\x9d\x3f\x04\x00\xf6\x06\xab\x37\xaa\x09\x01\x00\xfd\xff\xff\xff\xfe\xff\x06\x00\x52\x03\x93\x05\x00\x00\x00\x00\xba\x09\x00\x00\xbb\x09\x00\x00\x00\x00\x00\x00\xac\x09\x00\x00\x00\x00\x00\x00\x00\x00\x44\x10\x00\x00\x00\x00\x00\x00\x1b\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x3c\xb3\x3c\xd8\x3c\x39\x3d\x00\x00\xc2\x35\xe7\x0c\x25\x47\xe1\x0c\x42\x47\xba\x3f\x00\x00\x9a\x38\xf4\x38\xc5\x45\x13\x07\xc7\x08\x62\x07\xfc\x00\x00\x00\x4a\x03\x1f\x41\x0c\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x41\x62\xff\x00\x00\x00\x00\x00\x00\x22\x38\xce\xff\x70\xff\xa1\x36\x73\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x0c\x00\x00\x00\x00\xe3\x02\x00\x00\x63\x09\x00\x00\x00\x00\x00\x00\x00\x00\xad\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x05\x8c\x06\xa0\x06\xbb\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x11\x39\x5a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x09\x00\x00\x00\x00\x00\x00\x0f\x05\x6c\x05\x00\x00\x00\x00\xdf\xff\x00\x00\x00\x00\x00\x00\xd6\x03\x00\x00\x00\x00\x05\x00\x72\x04\x5d\x05\xc3\x08\x00\x00\x00\x00\x07\x00\x0d\x00\x00\x00\x00\x00\x76\x00\xcc\x08\x00\x00\x00\x00\xb3\xff\x00\x00\x00\x00\x00\x00\x55\x06\x1f\x09\x57\x07\x00\x00\x00\x00\xc0\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xae\x01\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x04\x00\x00\x00\x00\xcf\x0b\x00\x00\x00\x00\xbd\x01\xc1\x09\x00\x00\x00\x00\x00\x00\xf8\x06\x00\x00\x00\x00\x00\x00\x00\x00\x93\x35\xed\x35\x00\x00\x00\x00\x66\x47\x00\x00\x00\x00\x2d\x09\x00\x00\x09\x00\x23\x00\x00\x00\x00\x00\x2a\x01\x00\x00\x12\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x21\x09\x00\x00\x00\x00\x00\x00\x10\x03\x80\x01\x00\x00\x00\x00\xcb\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x47\x00\x00\x00\x00\x00\x00\xa2\x46\x00\x00\x72\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x46\x00\x00\x00\x00\x00\x00\xd3\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x3d\xe0\x3d\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x3d\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x0c\xa7\x47\xc4\x47\x6b\x39\xd5\x01\x00\x00\x00\x00\x00\x00\x61\x46\x00\x00\x4d\x06\x6c\x07\x96\x41\xf0\x41\x0d\x42\x67\x42\xbe\x09\x00\x00\x7b\x00\x00\x00\xd0\x08\xdb\x08\x95\x05\x9f\x05\xe5\x02\x47\x03\x00\x00\xab\x03\x00\x00\xe8\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x03\x05\x48\xe6\x08\xc2\x05\xe7\x08\x00\x00\x11\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x06\x00\x00\x48\x06\x00\x00\xc6\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x3d\x00\x00\x00\x00\x00\x00\x4b\x06\x00\x00\x00\x00\x00\x00\x14\x40\x31\x40\x00\x00\xb9\x05\x00\x00\x00\x00\x00\x00\x41\x3e\x00\x00\x64\x3e\x84\x42\x5a\x34\x00\x00\x00\x00\x00\x00\xc5\x3e\xde\x42\xb4\x34\x00\x00\x26\x00\x2c\x00\x00\x00\xfb\x42\x55\x43\x00\x00\x47\x36\x00\x00\x00\x00\x61\x46\x00\x00\x00\x00\x00\x00\xbc\x09\xe1\x08\xb0\x06\x00\x00\x00\x00\xf0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x06\x00\x00\x00\x00\x00\x00\x29\x48\x00\x00\x04\x0a\x00\x00\x00\x00\xd7\x08\x00\x00\x00\x00\x00\x00\xaf\x09\x00\x00\x1e\x0c\x76\x01\x96\x09\x98\x09\x9b\x09\xa0\x09\x2c\x06\x68\x03\x79\x03\x01\x04\x4d\x01\x38\x01\x00\x00\x00\x00\x08\x06\xe4\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x40\x7a\xff\x68\x02\x00\x00\xf1\x08\x00\x00\x00\x00\x72\x43\x00\x00\xcc\x43\x00\x00\x20\x09\x72\x36\xf8\x08\xe9\x43\x43\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x05\x00\x00\x00\x00\x18\x0a\x00\x00\x35\x0a\x64\x0a\x78\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\xff\xbc\x0a\xc0\x06\x06\x07\x00\x00\x00\x00\x00\x00\x00\x00\x19\x02\x00\x00\x00\x00\xf9\x08\xfb\x08\xdc\x09\x00\x00\x3b\x09\x00\x00\x01\x47\xf6\x09\x1c\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x07\x00\x00\x66\x0a\x72\x07\x00\x00\x00\x00\x00\x00\xa5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x04\x89\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x36\x00\x00\x00\x00\x00\x00\x60\x44\x00\x00\x00\x00\x00\x00\x83\x07\x26\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x09\x05\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x09\x73\x04\x00\x00\x87\x04\xd9\x0a\xce\x04\xe0\x04\x5d\x01\x00\x00\xac\x06\x00\x00\x00\x00\x04\x0c\x7f\x02\xb2\xff\x1b\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x04\x2f\x0b\x99\x09\xb9\x09\xbd\x09\xff\x04\x6e\x05\xe8\x00\x9a\x07\x46\x01\xb7\x07\xa7\x01\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\xff\x00\x00\x00\x00\x26\x3f\x00\x00\x00\x00\x08\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x44\x7f\x04\x00\x00\x00\x00\x00\x00\xf9\x09\x00\x00\x91\x07\x9e\x07\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x09\x46\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb2\x07\xbd\x07\x10\x09\x00\x00\x00\x00\x00\x00\xd7\x44\x0e\x35\x31\x45\x00\x00\x00\x00\x68\x35\x00\x00\x00\x00\xcd\x07\x00\x00\x4f\x05\x00\x00\xe2\x39\x05\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x03\x00\x00\x00\x00\x9f\x01\xa7\x05\xa3\x09\xb4\x09\xbf\x05\x00\x00\x00\x00\x00\x00\x85\x09\x8b\x09\x00\x00\xff\x39\x80\x37\x8e\x09\xe0\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\xff\xa5\x09\x06\x04\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xff\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x09\x03\x0a\x02\x05\x00\x00\x00\x00\x08\x0a\xcb\x07\xa8\x40\x02\x41\xe9\x06\x43\x0b\x7b\x01\x00\x00\xfd\x00\x34\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe7\x09\xea\x09\x00\x00\xb0\x02\x00\x00\x2e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\xd9\xff\x00\x00\x00\x00\xe1\xff\x86\x09\x00\x00\x6a\x48\x00\x00\x00\x00\x00\x00\x70\x09\x9d\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x13\x00\x00\xfd\x09\x00\x00\x00\x00\x59\x3a\xc5\x00\x00\x00\x7e\x46\x6f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\xff\x00\x00\x00\x00\x94\x09\x00\x00\x00\x00\x36\x0a\x00\x00\x00\x00\x00\x00\xaf\x05\x00\x00\x3f\x09\x7c\x00\x74\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x05\x00\x00\x00\x00\x00\x00\x00\x00\x76\x3a\x00\x00\x84\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x46\xd1\xff\x76\x04\x00\x00\x00\x00\x8a\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x0b\x00\x00\xd9\x09\x00\x00\x4f\x09\x00\x00\x00\x00\xb9\x07\x6d\x0c\xdb\x00\xdf\x07\x1a\x0a\x00\x00\x57\x09\x60\x0b\x00\x00\x00\x00\x20\x0d\x57\x00\x00\x00\x00\x00\x00\x00\x5e\x09\x00\x00\x00\x00\x00\x00\x04\x02\xe6\x06\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\xff\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x00\x0e\x08\x00\x00\x00\x00\xa0\x0c\xed\x09\x00\x00\xd0\x05\x61\x09\x00\x00\xde\x09\x00\x00\x64\x09\xdc\x05\xf7\x09\x00\x00\x00\x00\xe8\x02\x00\x00\x00\x00\xd1\x09\xa6\x09\x00\x00\xd0\x3a\x43\x3f\x00\x00\x00\x00\xed\x3a\x47\x3b\x64\x3b\x00\x00\x00\x00\x00\x00\x54\x0a\x5a\x0a\x00\x00\x71\x09\x00\x00\x00\x00\x6e\x06\x73\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x06\x00\x00\xa7\x00\x00\x00\x35\x00\x44\x00\x00\x00\xe6\x00\x9c\x00\x21\x08\xd6\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x38\x06\x6a\x07\x00\x00\x00\x00\xea\x06\xbe\x3b\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x02\x2e\x00\x31\x00\x47\x02\x00\x00\x9c\x07\x00\x00\x00\x00\x1a\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x0a\x00\x00\x7e\xff\x00\x00\x7f\x09\xe6\x00\x00\x00\x34\x0c\x00\x00\x99\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x00\x00\x1a\x07\x00\x00\x00\x00\x00\x00\x4e\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x19\x00\x00\x00\x56\x06\x80\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x91\x05\x00\x00\x00\x00\xa6\x06\xdb\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x04\x00\x00\x00\x00\x00\x00\x7d\x0b\x4a\x00\x4e\x00\x00\x00\x00\x00\xd3\xff\x11\x05\x00\x00\x87\x09\x68\x00\x00\x00\x00\x00\x94\x02\x00\x00\x88\x09\x00\x00\x66\x04\x00\x00\x00\x00\x00\x00\x00\x00\x16\x00\x21\x08\x00\x00\xac\x04\x90\x09\x00\x00\xa9\x00\x00\x00\x89\x09\x00\x00\x00\x00\xb5\x06\x00\x00\x35\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x08\x00\x00\x00\x00\x00\x00\x21\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x08\x00\x00\x00\x00\xfa\x09\x8a\x05\x5a\x0c\x00\x00\x00\x00\x00\x00\x3e\x08\x00\x00\x00\x00\x2a\x08\x00\x00\x00\x00\x00\x00\x00\x00\x80\x05\x00\x00\x9d\x01\x9a\x03\xe2\xff\x40\x03\x00\x00\x8c\x09\x00\x00\x00\x00\x82\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\xa8\x45\x00\x00\x00\x00\x00\x00\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x91\x09\x00\x00\x2f\x05\x00\x00\xf3\x01\x5c\x0a\x77\x0c\x21\x04\x00\x00\x60\x12\x8b\x0c\x00\x00\xc2\x02\x00\x00\x00\x00\x89\x01\x96\x08\xc5\x08\xb6\xff\x00\x00\x00\x00\x00\x00\x80\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x01\xd1\x00\x00\x00\x00\x00\xd2\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\xe7\x01\x00\x00\x00\x00\x00\x00\x6f\x0a\xe2\x08\x00\x00\x70\x0a\x00\x00\x3b\x0f\xf6\x08\xe5\x06\x2d\x0a\x00\x00\x0a\x09\x00\x00\x3e\x04\x39\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x06\x00\x00\x2b\x08\x00\x00\x00\x00\x31\x13\x06\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x00\x00\x00\x81\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x09\x00\x00\x00\x00\x00\x00"#--happyAdjustOffset :: Happy_GHC_Exts.Int# -> Happy_GHC_Exts.Int#-happyAdjustOffset off = off--happyDefActions :: HappyAddr-happyDefActions = HappyA# "\x19\xfd\x00\x00\x00\x00\x19\xfd\x00\x00\x00\x00\x00\x00\x19\xfd\x19\xfd\x19\xfd\x19\xfd\x00\x00\x00\x00\xea\xff\xef\xfc\x00\x00\xe2\xff\x00\x00\xe2\xff\x00\x00\x00\x00\x00\x00\xbc\xff\x85\xfd\x61\xfe\x5f\xfe\x59\xfe\x58\xfe\x56\xfe\x54\xfe\x4e\xfe\x44\xfe\x3f\xfe\x36\xfe\x33\xfe\x24\xfe\x00\x00\x00\x00\x2f\xfe\x71\xfd\x7a\xfd\x30\xfe\x32\xfe\x79\xfd\x31\xfe\x6c\xfd\x3e\xfd\x50\xfd\x6a\xfd\x65\xfd\x34\xfd\x2e\xfe\x4d\xfd\x51\xfd\x4f\xfd\x36\xfd\x35\xfd\x32\xfd\x33\xfd\x23\xfd\x21\xfd\x22\xfd\x20\xfd\x1f\xfd\x1e\xfd\x1d\xfd\x1c\xfd\x1b\xfd\x1a\xfd\x00\x00\x00\x00\x00\x00\xa7\xfd\x4e\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x19\xfd\x00\x00\x00\x00\x18\xfe\x00\x00\x00\x00\xfd\xfd\x49\xfd\x3d\xfd\x3c\xfd\x3a\xfd\x3b\xfd\x48\xfd\x47\xfd\x46\xfd\x45\xfd\x44\xfd\x43\xfd\x42\xfd\x41\xfd\x4c\xfd\x00\x00\x19\xfd\x38\xfd\x39\xfd\x4a\xfd\x19\xfd\x19\xfd\x19\xfd\x00\x00\x19\xfd\x4b\xfd\x37\xfd\x40\xfd\x3f\xfd\x00\x00\x00\x00\x00\x00\x01\xff\xd0\xfe\x07\xff\xfd\xfe\xee\xfe\x00\x00\xe6\xfe\xe5\xfe\xfc\xfe\xdf\xfe\x00\x00\xd3\xfe\x00\x00\x00\x00\xfb\xfc\xd8\xfe\xfb\xfe\xfc\xfc\xe8\xfe\xe7\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xfe\xe2\xfe\xe3\xfe\xf1\xfe\x00\x00\x00\x00\xef\xfe\xfa\xfc\xf9\xfc\xf8\xfc\xc8\xfe\x00\x00\x00\x00\x00\x00\xd6\xff\xd6\xff\x95\xfd\x00\x00\x19\xfd\x00\x00\x61\xfe\x00\x00\xe2\xff\xf1\xff\xef\xff\x19\xfd\x00\x00\xe2\xff\x00\x00\x36\xff\x00\x00\xd6\xff\xd6\xff\x00\x00\xd7\xff\xd9\xff\x00\x00\xe0\xfe\xe1\xfe\x00\x00\xed\xfe\x78\xfd\x77\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xff\xd0\xfe\xcd\xfe\x00\x00\x00\x00\xdc\xfe\xcd\xfe\x00\x00\x00\x00\x00\x00\xda\xfe\x0e\xfe\xcd\xfe\x00\x00\x00\x00\x00\x00\x52\xfd\x31\xfd\x00\x00\x2e\xfd\x2a\xfd\x2d\xfd\x28\xfd\x2f\xfd\x24\xfd\x30\xfd\xde\xfe\x26\xfd\x53\xfd\x00\x00\x29\xfd\xe3\xfe\x25\xfd\x00\x00\xd1\xfe\xe4\xfe\xfa\xfe\xfe\xfe\x00\x00\xd5\xfe\x5b\xfd\x00\x00\xf6\xfc\xf5\xfc\x00\x00\x00\x00\xcf\xfe\xf4\xfc\xf3\xfc\x00\x00\x00\x00\x00\x00\x00\x00\x84\xfd\x8a\xfd\x8a\xfd\x00\x00\x3c\xfe\x00\x00\x45\xfe\x87\xfd\x4c\xfe\x50\xfe\xd6\xff\xd6\xff\x46\xfe\x00\x00\x4a\xfe\x00\x00\xc4\xfd\xf8\xfd\xf4\xfd\xf7\xfd\xf6\xfd\xf5\xfd\xf0\xfd\xef\xfd\xee\xfd\xed\xfd\xeb\xfd\xec\xfd\xea\xfd\xe9\xfd\xe8\xfd\xe7\xfd\xe6\xfd\xe5\xfd\xe4\xfd\xe3\xfd\xe2\xfd\xe1\xfd\xe0\xfd\xf2\xfd\xf1\xfd\xdf\xfd\xde\xfd\xdd\xfd\xdc\xfd\xdb\xfd\xda\xfd\xd9\xfd\xd8\xfd\xd7\xfd\xd6\xfd\xd5\xfd\xd4\xfd\xd3\xfd\xd2\xfd\xd1\xfd\xd0\xfd\xcf\xfd\xce\xfd\xcd\xfd\xcc\xfd\xcb\xfd\xca\xfd\xc9\xfd\xf3\xfd\xc8\xfd\xc7\xfd\xc6\xfd\x19\xfe\x1a\xfe\x00\x00\x00\x00\x00\x00\x1c\xfe\x1b\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x58\xfe\x00\x00\x00\x00\x05\xfe\x00\x00\x94\xfd\x47\xfe\x38\xfe\x37\xfe\xff\xfe\x00\x00\x3d\xfe\x19\xfd\x09\xfe\xa6\xfd\xa5\xfd\x00\x00\x55\xfd\x54\xfd\x00\x00\x5f\xfd\x2c\xfd\x2b\xfd\x00\x00\x27\xfd\xc0\xfd\x00\x00\xbf\xfd\x72\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x75\xfd\x0c\xfe\x09\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x5b\xfd\x00\x00\x2c\xfd\x2b\xfd\x76\xfd\x29\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x40\xfe\x57\xfd\x56\xfd\x5e\xfe\x61\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\x00\x00\xec\xfc\xee\xfc\x00\x00\x00\x00\xd6\xff\xd6\xff\xd6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\xff\x0d\xff\x70\xfd\x69\xfd\x00\x00\x00\x00\x00\x00\xd6\xff\x00\x00\x00\x00\xea\xff\xec\xff\x17\xfd\x18\xfd\xf0\xfc\x00\xfd\xff\xfc\xd6\xff\xed\xfc\xd6\xff\xbd\xff\xb8\xff\xbb\xff\x5a\xfe\x5b\xfe\x5c\xfe\x5d\xfe\x60\xfe\x00\x00\x00\x00\x57\xfe\x55\xfe\x00\x00\x82\xfd\x7f\xfd\x00\x00\x35\xfe\x81\xfd\x86\xfd\x39\xfe\x3a\xfe\x6b\xfd\x64\xfd\x27\xfe\x17\xfe\x10\xfe\x16\xfe\x2d\xfe\x15\xfe\x11\xfe\x73\xfd\x0f\xfe\x2c\xfe\x00\x00\x00\x00\x2b\xfe\x0a\xfe\x0d\xfe\x74\xfd\x2a\xfe\x00\x00\x29\xfe\x00\x00\xbe\xfd\x00\x00\x00\x00\x08\xfe\x28\xfe\x00\x00\x00\x00\x00\x00\x48\xfe\xd6\xff\xd6\xff\x3e\xfe\x00\x00\x00\x00\x26\xfe\x00\x00\x22\xfe\x21\xfe\x00\x00\x20\xfe\x1f\xfe\x51\xff\x9f\xff\x00\x00\xd6\xff\x91\xff\x90\xff\x00\x00\x7b\xff\x52\xff\x4b\xff\x4a\xff\x50\xff\x83\xff\x58\xfe\x4f\xff\x16\xfd\x4e\xff\x00\x00\x00\x00\x00\x00\x5b\xff\x00\x00\x01\xfd\x9d\xff\x9c\xff\x9b\xff\x64\xff\x5a\xff\x00\x00\x00\x00\x1d\xff\x1d\xff\x1d\xff\x1d\xff\x1f\xff\x11\xff\x11\xff\x00\x00\x3d\xff\x00\x00\x00\x00\x1d\xfe\x00\x00\xc1\xfd\x00\xfe\x00\x00\xfa\xfd\xfe\xfd\x4b\xfe\xfc\xfd\x00\x00\x19\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x4d\xfe\x00\x00\x3b\xfe\x00\x00\x00\x00\x88\xfd\x8a\xfd\x00\x00\x00\x00\x00\x00\x00\x00\xd4\xfe\x04\xff\x00\x00\x05\xff\x06\xff\x02\xff\xdd\xfe\xd6\xfe\xd7\xfe\xdb\xfe\xf9\xfe\xf4\xfe\x00\x00\xd9\xfe\xf8\xfe\x00\x00\xf7\xfe\x00\x00\x00\x00\x00\x00\xeb\xfe\xf6\xfe\xf5\xfe\xf2\xfe\x00\x00\xea\xfe\x00\x00\x00\x00\x00\x00\xc9\xfe\xc7\xfe\x00\x00\x00\x00\xd6\xff\xd6\xff\xbf\xff\xdb\xff\xd8\xff\xde\xff\x55\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdf\xff\x00\x00\xc4\xfd\xe4\xff\xc1\xfd\x00\x00\xd4\xff\x00\x00\x00\x00\x34\xff\x4c\xff\x35\xff\x4d\xff\xd6\xff\x53\xff\x67\xfe\xd6\xff\x7c\xfd\x32\xfe\x00\x00\xd7\xff\xda\xff\xdd\xff\xd2\xfe\x00\x00\xe9\xfe\xec\xfe\xce\xfe\xcb\xfe\xcc\xfe\xca\xfe\x00\x00\x9d\xfe\x9c\xfe\x9a\xfe\x96\xfe\xfd\xfc\x95\xfe\x94\xfe\x00\x00\x00\x00\x98\xfe\xf7\xfc\x00\x00\x42\xfe\x43\xfe\x8d\xfd\x8b\xfd\x8c\xfd\x8a\xfd\x8e\xfd\x4f\xfe\x52\xfe\x00\x00\x92\xfd\x93\xfd\x8f\xfd\xd6\xff\x00\x00\x49\xfe\x05\xfe\x00\x00\x00\x00\xc2\xfd\x00\x00\xc5\xfd\x00\x00\x4d\xfd\x32\xfd\x49\xfd\x3d\xfd\x3c\xfd\x3a\xfd\x3b\xfd\x48\xfd\x47\xfd\x46\xfd\x45\xfd\x44\xfd\x43\xfd\x42\xfd\x41\xfd\x4c\xfd\x38\xfd\x39\xfd\x4a\xfd\x4b\xfd\xf9\xfd\x67\xfd\x8c\xfe\x00\x00\x00\x00\x3e\xff\x3c\xff\x3a\xff\x37\xff\x00\x00\x00\x00\x00\x00\x12\xff\x00\x00\x0f\xff\x00\x00\x00\x00\x20\xff\x1d\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xfd\x04\xfd\x03\xfd\x57\xff\x00\x00\xc2\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\xfe\x00\x00\xd7\xff\x93\xff\x00\x00\x00\x00\x9e\xff\xa9\xfd\x00\x00\xab\xfd\x00\x00\x19\xfd\x06\xfe\x53\xfe\x00\x00\x00\x00\x9f\xfd\x00\x00\xa2\xfd\xb6\xfd\xb4\xfd\xb3\xfd\xb2\xfd\x00\x00\xa4\xfd\x09\xfe\xb8\xfd\x5e\xfd\xba\xfd\xbc\xfd\x09\xfe\xb9\xfd\x0b\xfe\x14\xfe\x07\xfe\x03\xfe\x04\xfe\x12\xfe\x13\xfe\x00\x00\x00\x00\x34\xfe\x5a\xfd\x60\xfd\xb6\xff\xb9\xff\x00\x00\x00\x00\xeb\xff\xe8\xff\xe5\xff\x00\x00\x00\x00\x00\x00\x0a\xff\x00\x00\x00\x00\xe7\xff\x09\xff\x6f\xfd\x68\xfd\x0b\xff\xe6\xff\xe9\xff\xd6\xff\xd6\xff\x00\x00\xb7\xff\x83\xfd\x80\xfd\xbd\xfd\x00\x00\x00\x00\xb1\xfd\x00\x00\x00\x00\xa0\xfd\xa1\xfd\xd6\xff\x9c\xfd\x00\x00\xa8\xfd\x00\x00\x00\x00\x25\xfe\xa0\xff\x59\xfd\x58\xfd\x99\xff\x5d\xfd\x63\xfd\x00\x00\x1e\xfe\x92\xff\x8e\xfe\xa6\xfe\xbb\xfe\x00\x00\xaf\xfe\x49\xff\x00\x00\x32\xff\x69\xfe\x65\xfe\x63\xfe\x00\x00\x00\x00\x69\xfe\x25\xff\x31\xff\x30\xff\x2f\xff\x2e\xff\x2d\xff\x2c\xff\x2b\xff\x2a\xff\x00\x00\x88\xfe\xc4\xfe\x7a\xff\x00\x00\x58\xff\x03\xff\x59\xff\x64\xff\x66\xff\x67\xff\x68\xff\x69\xff\x6a\xff\x65\xff\x78\xfe\x6e\xff\x00\x00\x00\x00\x08\xff\x78\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xfd\x12\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\xff\x21\xff\x80\xff\x13\xff\x7f\xff\x00\x00\x10\xff\x7e\xff\x7d\xff\x00\x00\x00\x00\x00\x00\x42\xff\x00\x00\x00\x00\xfd\xfd\x01\xfe\x00\x00\xff\xfd\xfb\xfd\x00\x00\x91\xfd\x4c\xfe\x89\xfd\x00\x00\x00\x00\x00\x00\x9d\xfe\x93\xfe\x99\xfe\x00\x00\xf3\xfe\x00\x00\xc0\xff\xdc\xff\x00\x00\xd7\xff\x7e\xfd\x00\x00\xd7\xff\x56\xff\x00\x00\x00\x00\x00\x00\xd5\xff\xd0\xff\xf0\xff\x00\x00\xfd\xfd\xed\xff\x00\x00\xd0\xff\xce\xff\xcd\xff\xcb\xff\x00\x00\xd1\xff\x00\x00\x00\x00\x00\x00\xe3\xff\xe1\xff\xe0\xff\x54\xff\x7d\xfd\x00\x00\x7b\xfd\x00\x00\x9b\xfe\x97\xfe\x00\x00\x91\xfe\x00\x00\x00\x00\x90\xfd\x00\x00\xc3\xfd\x4a\xfe\x8b\xfe\x7c\xff\x3b\xff\x39\xff\x38\xff\x0e\xff\x14\xff\x22\xff\x00\x00\x00\x00\x00\x00\x00\x00\x1c\xff\x00\x00\x43\xff\x46\xff\x47\xff\x66\xfd\x0d\xfd\x00\x00\x0e\xfd\x05\xfd\x00\x00\x09\xfd\xc8\xfe\x11\xfd\x14\xfd\x15\xfd\x8f\xff\x98\xff\x00\x00\x00\x00\x00\x00\x6f\xff\x86\xff\x19\xfd\x00\x00\x84\xff\x8a\xff\x00\x00\x00\x00\xc1\xfe\xbf\xfe\x87\xff\x19\xfd\x81\xff\x00\x00\x6e\xfd\x00\x00\x00\x00\x00\x00\x29\xff\x28\xff\x27\xff\x26\xff\x6b\xfe\x19\xfd\x00\x00\x66\xfe\x64\xfe\x6c\xfe\x00\x00\x00\x00\xb5\xfe\xb3\xfe\x00\x00\xc8\xfe\x8d\xfe\xa6\xfe\x19\xfd\x8c\xff\xa5\xfe\xa3\xfe\x01\xfd\xa6\xfe\xbb\xfe\x00\x00\x00\x00\x00\x00\xac\xfd\xaa\xfd\x69\xfe\x99\xfd\x97\xfd\x00\x00\xd7\xff\x9e\xfd\xb5\xfd\x00\x00\x00\x00\x00\x00\xa3\xfd\xb7\xfd\xbb\xfd\xb4\xff\xd7\xff\x00\x00\x00\x00\xf1\xfc\xf2\xfc\xb2\xff\x00\x00\xb0\xfd\xae\xfd\xaf\xfd\x9d\xfd\x9a\xfd\x98\xfd\x9b\xfd\x9a\xff\x5c\xfd\x62\xfd\xa6\xfe\x89\xff\x00\x00\xa4\xfe\xd6\xff\xd6\xff\x8b\xff\x00\x00\x00\x00\xaa\xfe\x00\x00\xb1\xfe\xae\xfe\x00\x00\xd8\xfe\x00\x00\xaf\xfe\x48\xff\x33\xff\x00\x00\x00\x00\x6a\xfe\x82\xff\x00\x00\x00\x00\x00\x00\xd6\xff\xd6\xff\xc4\xfe\xc5\xfe\xc4\xfe\x79\xff\x85\xff\xd6\xff\xd6\xff\x6d\xff\x6c\xff\x6b\xff\x8d\xff\x76\xff\x77\xff\x63\xff\x97\xff\x00\x00\x13\xfd\x19\xfd\x00\x00\x06\xfd\x00\x00\x10\xfd\x00\x00\x00\x00\x41\xff\x3f\xff\x1b\xff\x00\x00\x00\x00\x18\xff\x16\xff\x00\x00\x00\x00\x00\x00\x96\xfd\x00\x00\x00\x00\x90\xfe\x00\x00\xc6\xfe\xc7\xff\x00\x00\xcc\xff\xc2\xff\xc1\xff\xc8\xff\x00\x00\x00\x00\xd1\xff\xd2\xff\x00\x00\x00\x00\xcf\xff\xd3\xff\x00\x00\xc5\xff\xc3\xff\xa2\xff\xa1\xff\xca\xff\xc4\xff\x92\xfe\x00\x00\x00\x00\x51\xfe\x00\x00\x00\x00\x00\x00\x17\xff\x19\xff\x44\xff\x00\x00\x45\xff\x0c\xfd\x07\xfd\x00\x00\xd6\xff\xd6\xff\x00\x00\x8e\xff\x19\xfd\x76\xfe\x00\x00\x00\x00\x00\x00\xbe\xfe\xc0\xfe\x86\xfe\x00\x00\x00\x00\x23\xff\x00\x00\x6d\xfd\x62\xfe\xb4\xfe\x00\x00\x00\x00\xaa\xfe\xb2\xfe\x00\x00\x00\x00\xb0\xfe\x00\x00\x00\x00\x00\x00\xa2\xfe\x9e\xfe\x00\x00\x88\xff\x00\x00\xb5\xff\xbe\xff\xb3\xff\x00\x00\xaf\xff\xd0\xff\xad\xfd\x9f\xfe\x00\x00\xa1\xfe\xbc\xfe\xbd\xfe\xd6\xff\xb8\xfe\x00\x00\xad\xfe\x00\xff\x00\x00\x00\x00\xa8\xfe\xac\xfe\xd7\xfe\x24\xff\x89\xfe\x8a\xfe\x83\xfe\xd6\xff\x84\xfe\x82\xfe\x80\xfe\x00\x00\x00\x00\xc3\xfe\x79\xfe\x7a\xfe\x00\x00\x70\xfe\x71\xfe\xd6\xff\x74\xfe\x72\xfe\x73\xfe\x5b\xff\x00\x00\x62\xff\x00\x00\x00\x00\x00\x00\x55\xff\x00\x00\x00\x00\x08\xfd\x40\xff\x00\x00\x1e\xff\x00\x00\x00\x00\x8f\xfe\xc9\xff\x00\x00\x00\x00\xee\xff\xc6\xff\x00\x00\x02\xfe\x00\x00\x0a\xfd\x0b\xfd\x96\xff\x94\xff\x00\x00\x5d\xff\x00\x00\x00\x00\x00\x00\xd7\xff\x77\xfe\x8e\xfe\x72\xff\x00\x00\x00\x00\x81\xfe\x00\x00\x00\x00\x7f\xfe\xd7\xff\x87\xfe\xab\xfe\x00\x00\x00\x00\x00\x00\xd7\xff\xba\xfe\xa0\xfe\x00\x00\xd0\xff\xac\xff\xab\xff\xfe\xfc\xa8\xff\x00\x00\x00\x00\xa9\xff\xaa\xff\x00\x00\x00\x00\xd1\xff\xb0\xff\xb9\xfe\xb7\xfe\x00\x00\xa7\xfe\xa9\xfe\x85\xfe\x7a\xff\x00\x00\x7b\xfe\x75\xff\x7d\xfe\x00\x00\x00\x00\xa6\xfe\xbb\xfe\x75\xfe\x00\x00\x60\xff\x5e\xff\x00\x00\x61\xff\x95\xff\x15\xff\x41\xfe\x5c\xff\x5f\xff\x6f\xfe\xa6\xfe\x6e\xfe\x98\xff\x71\xff\x7c\xfe\x00\x00\x00\x00\x49\xff\x7e\xfe\x00\x00\xad\xff\xb1\xff\x00\x00\xa3\xff\xa6\xff\x00\x00\xa7\xff\xa5\xff\x00\x00\x00\x00\x00\x00\x74\xff\x70\xff\x6d\xfe\x73\xff\x00\x00\xa4\xff\xb6\xfe"#--happyCheck :: HappyAddr-happyCheck = HappyA# "\xff\xff\x04\x00\x04\x00\x04\x00\x02\x00\x04\x00\x04\x00\x11\x00\x12\x00\x13\x00\x04\x00\x38\x00\x11\x00\x2b\x00\x40\x00\x0b\x00\x0b\x00\x47\x00\x48\x00\x49\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x4a\x00\x67\x00\x0d\x00\x0e\x00\x21\x00\x22\x00\x4e\x00\x40\x00\x47\x00\x48\x00\x49\x00\x70\x00\x53\x00\x54\x00\x1b\x00\x0d\x00\x0e\x00\x4a\x00\x17\x00\x40\x00\x13\x00\x0d\x00\x0e\x00\x79\x00\x0d\x00\x0e\x00\x1b\x00\x0d\x00\x0e\x00\x4a\x00\x1b\x00\x40\x00\xd6\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\xcb\x00\x0d\x00\x0e\x00\x1f\x00\x4a\x00\x0d\x00\x0e\x00\x3d\x00\xcb\x00\xd6\x00\x66\x00\x67\x00\xd6\x00\x3d\x00\x1b\x00\x23\x00\x01\x00\x1b\x00\x1c\x00\x00\x00\x0d\x00\x0e\x00\x0d\x00\x1b\x00\x1b\x00\x1b\x00\x0d\x00\x0e\x00\x2f\x00\x00\x00\x0d\x00\x0e\x00\xe9\x00\x1c\x00\x14\x00\x15\x00\x4b\x00\x15\x00\x60\x00\x02\x01\x22\x00\x3c\x00\x48\x00\x0a\x00\x4a\x00\x0c\x00\x1b\x00\xf8\x00\xf9\x00\x1e\x00\x24\x00\x24\x00\x24\x00\x02\x01\xf5\x00\x02\x01\x02\x01\x9c\x00\x31\x00\x1e\x00\x50\x00\x53\x00\x54\x00\x02\x01\xf5\x00\x6b\x00\x7c\x00\x4e\x00\x47\x00\x48\x00\x00\x00\x4a\x00\x4b\x00\x28\x00\x3d\x00\x6d\x00\x4f\x00\x52\x00\x3d\x00\x0a\x00\x17\x00\x18\x00\x11\x01\x48\x00\x49\x00\x16\x00\x72\x00\x75\x00\x27\x00\x80\x00\x81\x00\x10\x01\x11\x01\x6d\x00\x25\x00\x2e\x00\x27\x00\x1b\x00\xe9\x00\x6d\x00\x1e\x00\x2c\x00\x2d\x00\x2e\x00\x6d\x00\x9b\x00\x25\x00\xf5\x00\x33\x00\xf8\x00\xf9\x00\x77\x00\xe3\x00\xf8\x00\xf9\x00\x96\x00\x3b\x00\x9b\x00\x75\x00\xe4\x00\x3f\x00\x96\x00\x41\x00\x42\x00\x43\x00\x28\x00\x77\x00\xe3\x00\x18\x00\x90\x00\xf5\x00\xf6\x00\x90\x00\x18\x00\x10\x01\x11\x01\xf5\x00\xf5\x00\xf6\x00\xfe\x00\xff\x00\x25\x00\x9b\x00\x27\x00\x23\x00\xf5\x00\xf6\x00\x02\x01\x2c\x00\x2d\x00\x2e\x00\x9b\x00\x02\x01\x9b\x00\xf5\x00\x33\x00\xf8\x00\xf9\x00\xe5\x00\x75\x00\xd4\x00\xe3\x00\xe9\x00\x3b\x00\x02\x01\xe7\x00\xdc\x00\x3f\x00\x24\x00\x41\x00\x42\x00\x43\x00\xdc\x00\xf4\x00\xf5\x00\xf6\x00\x02\x01\xf8\x00\xf9\x00\xf5\x00\xf6\x00\xcc\x00\x11\x01\xf9\x00\x23\x00\x24\x00\xd4\x00\xcc\x00\x02\x01\xb1\x00\xe5\x00\xb3\x00\xb4\x00\xe5\x00\x02\x01\x02\x01\x02\x01\xe9\x00\x02\x01\x02\x01\x0f\x01\x02\x01\x02\x01\x02\x01\x0e\x01\xf4\x00\xf5\x00\xf6\x00\xf4\x00\xf5\x00\xf6\x00\x9a\x00\xf8\x00\xf9\x00\x15\x01\x17\x01\x16\x01\xe4\x00\x06\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xf5\x00\xf6\x00\xa8\x00\xa9\x00\xaa\x00\x78\x00\x79\x00\xad\x00\xae\x00\xaf\x00\xe3\x00\xf5\x00\x0f\x01\xf5\x00\xe7\x00\xe3\x00\x1b\x00\x86\x00\xe3\x00\xb9\x00\xe3\x00\x23\x00\xe7\x00\x4b\x00\xe7\x00\x27\x00\x06\x00\x07\x00\xf5\x00\xf6\x00\x2c\x00\x1b\x00\xf9\x00\xf5\x00\xf6\x00\x9a\x00\xf5\x00\xf6\x00\xf5\x00\xf6\x00\xf9\x00\x11\x01\xf9\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\x70\x00\xf5\x00\xa8\x00\xa9\x00\xaa\x00\x00\x00\x0e\x01\xad\x00\xae\x00\xaf\x00\xdf\x00\x70\x00\xe1\x00\xe2\x00\x18\x00\x23\x00\xe5\x00\xe6\x00\xf5\x00\xb9\x00\xe9\x00\x29\x00\xe5\x00\x66\x00\x67\x00\x23\x00\xe9\x00\x23\x00\x10\x01\x11\x01\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xf4\x00\xf5\x00\xf6\x00\x1a\x00\xf8\x00\xf9\x00\x70\x00\x01\x01\x10\x01\x11\x01\x04\x01\x05\x01\xea\x00\x02\x01\x3b\x00\xed\x00\x0a\x01\xef\x00\x23\x00\x1a\x00\xdf\x00\x2c\x00\xe1\x00\xe2\x00\x29\x00\xed\x00\xe5\x00\xe6\x00\x23\x00\xfb\x00\xe9\x00\x14\x01\xfe\x00\xff\x00\xe9\x00\x46\x00\x47\x00\x48\x00\x49\x00\xfb\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xf8\x00\xf9\x00\xf8\x00\xf9\x00\xde\x00\xe3\x00\x25\x00\x01\x01\x27\x00\xe7\x00\x04\x01\x05\x01\xe6\x00\x2c\x00\x2d\x00\x2e\x00\x0a\x01\x90\x00\x91\x00\x92\x00\x33\x00\x1a\x00\xe3\x00\xf5\x00\xf6\x00\xe7\x00\xe7\x00\xf9\x00\x3b\x00\xf7\x00\x23\x00\x18\x00\x3f\x00\x7a\x00\x41\x00\x42\x00\x43\x00\x09\x00\x0a\x00\xe3\x00\xf5\x00\xf6\x00\x23\x00\xf9\x00\xf9\x00\x25\x00\xe5\x00\x27\x00\x23\x00\xf5\x00\xa7\x00\x2c\x00\x8d\x00\x4b\x00\x2e\x00\x39\x00\x3a\x00\xf5\x00\xf6\x00\x33\x00\xf5\x00\xf4\x00\xf5\x00\xf6\x00\x75\x00\x25\x00\x26\x00\x3b\x00\xb9\x00\x1a\x00\xbb\x00\x3f\x00\x3b\x00\x41\x00\x42\x00\x43\x00\x10\x01\x11\x01\x23\x00\x33\x00\x34\x00\x35\x00\xf5\x00\xf5\x00\xf6\x00\xf8\x00\xf9\x00\x10\x01\x11\x01\x5b\x00\x31\x00\x5d\x00\xf5\x00\x34\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x08\x01\x69\x00\x6a\x00\x6b\x00\x5b\x00\x81\x00\x00\x00\x10\x01\x11\x01\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x10\x01\x11\x01\x1a\x00\x7a\x00\x9a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\xe7\x00\xe8\x00\x23\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\x4c\x00\x4d\x00\xa8\x00\xa9\x00\xaa\x00\xa7\x00\x8d\x00\xad\x00\xae\x00\xaf\x00\xe3\x00\xf9\x00\x4b\x00\x06\x00\x07\x00\x23\x00\x75\x00\x25\x00\x26\x00\xb9\x00\x28\x00\x29\x00\x18\x00\xb9\x00\x25\x00\xbb\x00\x27\x00\x9a\x00\xf5\x00\xf6\x00\x17\x00\x33\x00\x34\x00\x35\x00\x1b\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\x29\x00\x00\x00\xa8\x00\xa9\x00\xaa\x00\xf5\x00\xf6\x00\xad\x00\xae\x00\xaf\x00\x3e\x00\x3f\x00\x06\x00\x41\x00\x42\x00\x43\x00\xe7\x00\xe8\x00\xdf\x00\xb9\x00\xe1\x00\xe2\x00\x87\x00\x07\x01\xe5\x00\xe6\x00\x80\x00\x81\x00\xe9\x00\x17\x00\xf5\x00\xf6\x00\x7a\x00\xe5\x00\xf9\x00\xf5\x00\xf6\x00\x2d\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\x06\x00\x07\x00\x06\x01\xf4\x00\xf5\x00\xf6\x00\x8d\x00\x01\x01\x07\x01\xe6\x00\x04\x01\x05\x01\xdf\x00\x1b\x00\xe1\x00\xe2\x00\x0a\x01\x17\x00\xe5\x00\xe6\x00\xf5\x00\xf6\x00\xe9\x00\x06\x00\xf5\x00\x1b\x00\xf7\x00\xf8\x00\xf9\x00\xe3\x00\x2c\x00\x1c\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\x08\x01\x17\x00\xf5\x00\x2c\x00\x09\x00\xf8\x00\xf9\x00\x01\x01\xf5\x00\xf6\x00\x04\x01\x05\x01\x10\x01\x11\x01\xda\x00\xdb\x00\x0a\x01\xf5\x00\x9a\x00\x06\x00\xf8\x00\xf9\x00\x1a\x00\x71\x00\x25\x00\xe5\x00\x27\x00\x75\x00\xa4\x00\x10\x01\x11\x01\x23\x00\xa8\x00\x26\x00\xaa\x00\x2d\x00\x17\x00\xad\x00\xae\x00\xaf\x00\xf4\x00\xf5\x00\xf6\x00\xe5\x00\x10\x01\x11\x01\x33\x00\x34\x00\x35\x00\xb9\x00\x3f\x00\x9c\x00\x41\x00\x42\x00\x43\x00\x1d\x00\x5a\x00\x5b\x00\xf4\x00\xf5\x00\xf6\x00\x23\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x25\x00\xe4\x00\x27\x00\x18\x00\x1a\x00\x07\x00\x09\x00\x0a\x00\x06\x00\x07\x00\x23\x00\x0d\x00\x0e\x00\x23\x00\x23\x00\xdd\x00\xde\x00\xdf\x00\xf5\x00\xe1\x00\xe2\x00\x2e\x00\x2c\x00\xe5\x00\xe6\x00\x17\x00\x3f\x00\xe9\x00\x41\x00\x42\x00\x43\x00\x56\x00\x57\x00\x58\x00\x2c\x00\x26\x00\x2e\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\x06\x00\x07\x00\x76\x00\xb3\x00\x33\x00\x34\x00\x35\x00\x01\x01\xe7\x00\xe8\x00\x04\x01\x05\x01\x1c\x00\x81\x00\x82\x00\x27\x00\x0a\x01\x17\x00\x91\x00\x92\x00\x1c\x00\x94\x00\x2e\x00\x5a\x00\x5b\x00\x20\x00\xf9\x00\x9a\x00\x23\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xa4\x00\xd1\x00\x06\x00\x07\x00\xa8\x00\xd5\x00\xaa\x00\x06\x00\x07\x00\xad\x00\xae\x00\xaf\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x17\x00\x2a\x00\xb9\x00\x18\x00\x2d\x00\x17\x00\x1c\x00\x19\x00\x01\x00\x92\x00\xf2\x00\x94\x00\x9b\x00\x1f\x00\x23\x00\x08\x00\x09\x00\x9a\x00\xfa\x00\xfb\x00\xfc\x00\x18\x00\xfe\x00\xff\x00\x00\x01\x23\x00\x25\x00\xa4\x00\x27\x00\x27\x00\x10\x00\xa8\x00\x23\x00\xaa\x00\x2c\x00\x10\x00\xad\x00\xae\x00\xaf\x00\x10\x00\xdf\x00\xf5\x00\xe1\x00\xe2\x00\xf8\x00\xf9\x00\xe5\x00\xe6\x00\xb9\x00\x9c\x00\xe9\x00\x3e\x00\x3f\x00\x29\x00\x41\x00\x42\x00\x43\x00\x75\x00\x57\x00\x58\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\x9b\x00\x10\x01\x11\x01\x9c\x00\xf2\x00\xe3\x00\x25\x00\x01\x01\x27\x00\xe7\x00\x04\x01\x05\x01\xfa\x00\xfb\x00\x1d\x00\x1c\x00\x0a\x01\x58\x00\x59\x00\xdf\x00\x23\x00\xe1\x00\xe2\x00\xf5\x00\xf6\x00\xe5\x00\xe6\x00\xf9\x00\x9c\x00\xe9\x00\x01\x00\x28\x00\x3f\x00\x2a\x00\x41\x00\x42\x00\x43\x00\x08\x00\x09\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\x1c\x00\x55\x00\x56\x00\x57\x00\x58\x00\x8a\x00\x8b\x00\x01\x01\x23\x00\xf5\x00\x04\x01\x05\x01\xf8\x00\xf9\x00\x6e\x00\x2a\x00\x0a\x01\x1d\x00\x55\x00\x56\x00\x57\x00\x58\x00\xea\x00\x39\x00\x3a\x00\xed\x00\x18\x00\xef\x00\xf5\x00\x03\x00\x9a\x00\xf8\x00\xf9\x00\x22\x00\x08\x00\x09\x00\x10\x01\x11\x01\x20\x00\xfb\x00\xa4\x00\x20\x00\xfe\x00\xff\x00\xa8\x00\x28\x00\xaa\x00\x2a\x00\x23\x00\xad\x00\xae\x00\xaf\x00\x90\x00\x91\x00\x92\x00\x10\x01\x11\x01\x5b\x00\x28\x00\x5d\x00\x2a\x00\xb9\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xf2\x00\x69\x00\x6a\x00\x6b\x00\xbc\x00\xbd\x00\xbe\x00\x9a\x00\xfa\x00\xfb\x00\xfc\x00\x2c\x00\xfe\x00\xff\x00\x00\x01\xe3\x00\x28\x00\xa4\x00\x2a\x00\xe7\x00\x28\x00\xa8\x00\x2a\x00\xaa\x00\x8c\x00\x8d\x00\xad\x00\xae\x00\xaf\x00\xdf\x00\xe9\x00\xe1\x00\xe2\x00\xf5\x00\xf6\x00\xe5\x00\xe6\x00\xf9\x00\xb9\x00\xe9\x00\xe3\x00\xf4\x00\xf5\x00\xf6\x00\xe7\x00\xf8\x00\xf9\x00\x29\x00\x2a\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xe0\x00\xe1\x00\xf5\x00\xf6\x00\xf5\x00\xf6\x00\xf9\x00\x01\x01\xf9\x00\xe9\x00\x04\x01\x05\x01\x0f\x01\x06\x00\x07\x00\xfb\x00\x0a\x01\xe3\x00\xfe\x00\xff\x00\xdf\x00\xe7\x00\xe1\x00\xe2\x00\xf8\x00\xf9\x00\xe5\x00\xe6\x00\x29\x00\x2a\x00\xe9\x00\x58\x00\x59\x00\x3a\x00\xe3\x00\xf5\x00\xf6\x00\x18\x00\xe7\x00\xf9\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\xf5\x00\xf6\x00\x01\x01\x4f\x00\xf9\x00\x04\x01\x05\x01\x29\x00\x2a\x00\x71\x00\x3a\x00\x0a\x01\x74\x00\x75\x00\x5b\x00\x28\x00\x5d\x00\x2a\x00\xe6\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x18\x00\x69\x00\x6a\x00\x6b\x00\x18\x00\x3c\x00\xf5\x00\x18\x00\xf7\x00\xf8\x00\xf9\x00\xfc\x00\x18\x00\xfe\x00\xff\x00\x00\x01\x5b\x00\x0a\x00\x5d\x00\x0c\x00\x9b\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x0d\x00\x69\x00\x6a\x00\x6b\x00\x10\x01\x11\x01\x9b\x00\x5b\x00\x5c\x00\x5d\x00\x4c\x00\x4d\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x44\x00\x45\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x5a\x00\x5b\x00\x53\x00\x54\x00\x55\x00\x56\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x44\x00\x45\x00\x28\x00\x5b\x00\x2a\x00\x5d\x00\x04\x00\x05\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x06\x00\x07\x00\x6a\x00\x6b\x00\x44\x00\x45\x00\xe3\x00\x5b\x00\x2e\x00\x5d\x00\xe7\x00\x6e\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x29\x00\x2a\x00\x6a\x00\x6b\x00\xf5\x00\xf6\x00\x1b\x00\x5b\x00\xf9\x00\x5d\x00\x29\x00\x2a\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x77\x00\xe6\x00\x6a\x00\x6b\x00\x5e\x00\x4e\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x28\x00\x28\x00\xf5\x00\x2a\x00\xf7\x00\xf8\x00\xf9\x00\x0c\x00\x0d\x00\x0e\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x28\x00\xe6\x00\x2a\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x2a\x00\x09\x00\x2c\x00\x0b\x00\xbc\x00\xbd\x00\xbe\x00\x10\x01\x11\x01\xf5\x00\x5b\x00\xf7\x00\xf8\x00\xf9\x00\xe6\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x20\x00\x25\x00\x26\x00\x28\x00\x28\x00\x2a\x00\xf5\x00\x26\x00\xf7\x00\xf8\x00\xf9\x00\x3b\x00\x43\x00\x10\x01\x11\x01\x33\x00\x34\x00\x35\x00\x42\x00\x43\x00\x33\x00\x34\x00\x35\x00\xe5\x00\xda\x00\xdb\x00\xf5\x00\xe6\x00\x43\x00\xf8\x00\xf9\x00\x29\x00\x2a\x00\x10\x01\x11\x01\xe5\x00\x08\x00\x09\x00\xf4\x00\xf5\x00\xf6\x00\x3b\x00\xf5\x00\xe5\x00\xf7\x00\xf8\x00\xf9\x00\xe6\x00\x42\x00\x43\x00\xf4\x00\xf5\x00\xf6\x00\x10\x01\x11\x01\x0c\x00\x0d\x00\x0e\x00\xf4\x00\xf5\x00\xf6\x00\x43\x00\xf5\x00\xe9\x00\xf7\x00\xf8\x00\xf9\x00\xe6\x00\x18\x00\x10\x01\x11\x01\x28\x00\xf2\x00\x2a\x00\xf4\x00\xf5\x00\xf6\x00\x2c\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xf5\x00\x1c\x00\xf7\x00\xf8\x00\xf9\x00\x05\x00\x06\x00\x10\x01\x11\x01\x9d\x00\x9e\x00\x9f\x00\x06\x00\x07\x00\xf5\x00\x0d\x00\x0e\x00\xf8\x00\xf9\x00\x0f\x01\x2e\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x0d\x00\x0e\x00\x10\x01\x11\x01\x17\x00\x23\x00\x19\x00\xe5\x00\x28\x00\xa4\x00\x2a\x00\x20\x00\x1f\x00\xa8\x00\x22\x00\xaa\x00\x10\x01\x11\x01\xad\x00\xae\x00\xaf\x00\x23\x00\xf4\x00\xf5\x00\xf6\x00\xe5\x00\x1a\x00\x98\x00\x99\x00\x9a\x00\xb9\x00\x41\x00\x42\x00\x43\x00\xf5\x00\x0d\x00\x0e\x00\xf8\x00\xf9\x00\xa4\x00\xf4\x00\xf5\x00\xf6\x00\xa8\x00\x18\x00\xaa\x00\x5a\x00\x5b\x00\xad\x00\xae\x00\xaf\x00\x18\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xb9\x00\x10\x01\x11\x01\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xdf\x00\x18\x00\xe1\x00\xe2\x00\xf2\x00\x18\x00\xe5\x00\xe6\x00\x18\x00\x28\x00\xe9\x00\x2a\x00\xfa\x00\xfb\x00\xfc\x00\x18\x00\xfe\x00\xff\x00\x00\x01\x53\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\x9d\x00\x9e\x00\x9f\x00\xdf\x00\x9b\x00\xe1\x00\xe2\x00\x01\x01\x06\x00\xe5\x00\xe6\x00\x05\x00\x06\x00\xe9\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\xcf\x00\xd0\x00\xd1\x00\x9b\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\x82\x00\x83\x00\x84\x00\x75\x00\x28\x00\xa4\x00\x2a\x00\x01\x01\x28\x00\xa8\x00\x2a\x00\xaa\x00\x0d\x00\x0e\x00\xad\x00\xae\x00\xaf\x00\x7b\x00\x7c\x00\x7d\x00\x23\x00\x28\x00\x5b\x00\x2a\x00\x5d\x00\x7e\x00\xb9\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xe9\x00\x1d\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x82\x00\x83\x00\x84\x00\x0d\x00\x0e\x00\xf4\x00\xf5\x00\xf6\x00\x25\x00\xf8\x00\xf9\x00\x23\x00\x82\x00\x83\x00\x84\x00\x25\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x2a\x00\x28\x00\xdf\x00\x2a\x00\xe1\x00\xe2\x00\xb4\x00\xb5\x00\xe5\x00\xe6\x00\x2c\x00\x0f\x01\xe9\x00\x28\x00\xf5\x00\x2a\x00\x23\x00\xf8\x00\xf9\x00\xe9\x00\x4f\x00\x50\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\x2c\x00\xf4\x00\xf5\x00\xf6\x00\x25\x00\xf8\x00\xf9\x00\x01\x01\x1e\x00\x1f\x00\x20\x00\x1d\x00\x10\x01\x11\x01\x28\x00\x5b\x00\x2a\x00\x5d\x00\x68\x00\xb3\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x0f\x01\xf2\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x82\x00\x83\x00\x84\x00\xfa\x00\xfb\x00\xfc\x00\x0d\x00\xfe\x00\xff\x00\x00\x01\x5b\x00\x28\x00\x5d\x00\x2a\x00\x17\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x0d\x00\x0e\x00\x6a\x00\x6b\x00\x2c\x00\x6d\x00\x2e\x00\xe9\x00\xbd\x00\xbe\x00\xf4\x00\xf5\x00\xf6\x00\xe6\x00\xf8\x00\xf9\x00\x0d\x00\x0e\x00\xf4\x00\xf5\x00\xf6\x00\x1f\x00\xf8\x00\xf9\x00\x2a\x00\xf2\x00\x2c\x00\x1b\x00\xf5\x00\x1d\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\x10\x00\xfe\x00\xff\x00\x00\x01\x18\x00\x1b\x00\x5b\x00\x1d\x00\x5d\x00\x0f\x01\xb3\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x10\x01\x11\x01\x6a\x00\x6b\x00\x49\x00\x6d\x00\x6e\x00\x5b\x00\xb1\x00\x5d\x00\xb3\x00\x1c\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xb3\x00\x1d\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x7a\x00\xb9\x00\x5b\x00\xbb\x00\x5d\x00\x0d\x00\x0e\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x1d\x00\xe6\x00\x6a\x00\x6b\x00\x28\x00\x6d\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x1b\x00\xf2\x00\x0f\x00\x10\x00\xf5\x00\x25\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\x1d\x00\xfe\x00\xff\x00\x00\x01\x4e\x00\x85\x00\xe6\x00\xbc\x00\xbd\x00\xbe\x00\xb3\x00\x9c\x00\xf4\x00\xf5\x00\xf6\x00\x1d\x00\xf8\x00\xf9\x00\xf2\x00\x10\x01\x11\x01\xf5\x00\x48\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\x5b\x00\x17\x00\x5d\x00\x0d\x00\x0e\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x10\x00\x69\x00\x6a\x00\x6b\x00\xbc\x00\xbd\x00\xbe\x00\x10\x01\x11\x01\x82\x00\x83\x00\x84\x00\x82\x00\x83\x00\x84\x00\x10\x00\x5b\x00\x2a\x00\x5d\x00\x61\x00\xe6\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x1b\x00\x69\x00\x6a\x00\x6b\x00\x0d\x00\x0e\x00\xf5\x00\x29\x00\xf7\x00\xf8\x00\xf9\x00\xe6\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xeb\x00\x0d\x00\x0e\x00\xee\x00\x23\x00\xf0\x00\xf5\x00\xf2\x00\xf7\x00\xf8\x00\xf9\x00\x18\x00\xe6\x00\x10\x01\x11\x01\xfa\x00\xfb\x00\xfc\x00\x0d\x00\xfe\x00\xff\x00\x00\x01\x2a\x00\xfa\x00\xfb\x00\x17\x00\x18\x00\xf5\x00\x23\x00\xf7\x00\xf8\x00\xf9\x00\x4e\x00\x10\x01\x11\x01\x5b\x00\x29\x00\x5d\x00\x17\x00\x18\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x0d\x00\x0e\x00\x6a\x00\x6b\x00\x9b\x00\x6d\x00\x10\x01\x11\x01\x5b\x00\x0a\x00\x5d\x00\x0d\x00\x0e\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x2c\x00\x69\x00\x6a\x00\x6b\x00\xe0\x00\xe1\x00\x0d\x00\x0e\x00\xe6\x00\x23\x00\xf5\x00\xf6\x00\x10\x00\xe9\x00\x29\x00\x2a\x00\xfe\x00\xff\x00\x7c\x00\x7d\x00\xfe\x00\xff\x00\xf2\x00\xf5\x00\x9b\x00\xf7\x00\xf8\x00\xf9\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\x23\x00\x5b\x00\x1f\x00\x5d\x00\x29\x00\xe6\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x2a\x00\x69\x00\x6a\x00\x6b\x00\x10\x01\x11\x01\xf5\x00\x9b\x00\xf7\x00\xf8\x00\xf9\x00\x71\x00\x72\x00\xf5\x00\xf6\x00\x9b\x00\x5b\x00\x9b\x00\x5d\x00\x0d\x00\x0e\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x9b\x00\x69\x00\x6a\x00\x6b\x00\x10\x01\x11\x01\x72\x00\x5b\x00\x9b\x00\x5d\x00\x0d\x00\x0e\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x9b\x00\x69\x00\x6a\x00\x6b\x00\x0d\x00\x0e\x00\x2c\x00\x5b\x00\x1b\x00\x5d\x00\xe6\x00\x43\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xe5\x00\x69\x00\x6a\x00\x6b\x00\xe9\x00\xf5\x00\x1c\x00\xf7\x00\xf8\x00\xf9\x00\x2d\x00\xe6\x00\x1d\x00\x29\x00\x2a\x00\xf4\x00\xf5\x00\xf6\x00\x2c\x00\xf8\x00\xf9\x00\x23\x00\x10\x00\x2c\x00\x2c\x00\x2c\x00\xf5\x00\x06\x00\xf7\x00\xf8\x00\xf9\x00\x18\x00\x10\x01\x11\x01\x5b\x00\x18\x00\x5d\x00\x60\x00\x6e\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x23\x00\x69\x00\x6a\x00\x6b\x00\x65\x00\x7d\x00\x10\x01\x11\x01\x7d\x00\x69\x00\xe6\x00\x2c\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x29\x00\x18\x00\x23\x00\x7d\x00\x7d\x00\x7d\x00\xf5\x00\x2a\x00\xf7\x00\xf8\x00\xf9\x00\x9b\x00\x9b\x00\x29\x00\x9b\x00\x20\x00\x5b\x00\x0d\x00\x5d\x00\x29\x00\xe6\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x69\x00\x69\x00\x6a\x00\x6b\x00\x10\x01\x11\x01\xf5\x00\x10\x00\xf7\x00\xf8\x00\xf9\x00\xe6\x00\x18\x00\x9b\x00\x1b\x00\x20\x00\x33\x00\x23\x00\x06\x00\x07\x00\x18\x00\x1b\x00\x0a\x00\x9b\x00\x0c\x00\x7d\x00\xf5\x00\x9b\x00\xf7\x00\xf8\x00\xf9\x00\xe6\x00\x18\x00\x10\x01\x11\x01\x17\x00\x23\x00\x19\x00\x17\x00\x2a\x00\x18\x00\x0d\x00\x67\x00\x1f\x00\x23\x00\x20\x00\xf5\x00\x1d\x00\xf7\x00\xf8\x00\xf9\x00\x2c\x00\x28\x00\x10\x01\x11\x01\x5b\x00\x7d\x00\x5d\x00\x1c\x00\x23\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x1c\x00\x69\x00\x6a\x00\x6b\x00\x1c\x00\x10\x01\x11\x01\x5b\x00\x29\x00\x5d\x00\xe6\x00\x65\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x7d\x00\x69\x00\x6a\x00\x6b\x00\x2c\x00\xf5\x00\x1c\x00\xf7\x00\xf8\x00\xf9\x00\x25\x00\x65\x00\x25\x00\x7d\x00\x2c\x00\x1b\x00\x23\x00\x5f\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x6d\x00\xf5\x00\x7c\x00\x1c\x00\xf8\x00\xf9\x00\x1c\x00\x65\x00\x69\x00\x10\x01\x11\x01\x5b\x00\x18\x00\x5d\x00\x29\x00\xe6\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x1c\x00\x69\x00\x6a\x00\x6b\x00\x10\x01\x11\x01\xf5\x00\x26\x00\xf7\x00\xf8\x00\xf9\x00\x7d\x00\x9b\x00\x23\x00\x28\x00\x9b\x00\x5b\x00\x2a\x00\x5d\x00\x49\x00\x23\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x18\x00\x69\x00\x6a\x00\x6b\x00\x10\x01\x11\x01\x18\x00\x5b\x00\x0d\x00\x5d\x00\x29\x00\x2e\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x1c\x00\x69\x00\x6a\x00\x6b\x00\x18\x00\x1d\x00\x1d\x00\x5b\x00\x06\x00\x5d\x00\xe6\x00\x1d\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xe9\x00\x69\x00\x6a\x00\x6b\x00\x17\x00\xf5\x00\x23\x00\xf7\x00\xf8\x00\xf9\x00\xe6\x00\xf4\x00\xf5\x00\xf6\x00\x18\x00\xf8\x00\xf9\x00\x29\x00\x68\x00\x1c\x00\x4c\x00\x1d\x00\x9b\x00\x4c\x00\x18\x00\xf5\x00\x2a\x00\xf7\x00\xf8\x00\xf9\x00\x2a\x00\x1b\x00\x10\x01\x11\x01\x5b\x00\x18\x00\x5d\x00\x23\x00\x0f\x01\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x17\x00\x69\x00\x6a\x00\x6b\x00\x18\x00\x10\x01\x11\x01\x5b\x00\x29\x00\x5d\x00\xe6\x00\x7d\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x65\x00\x69\x00\x6a\x00\x6b\x00\x65\x00\xf5\x00\x2c\x00\xf7\x00\xf8\x00\xf9\x00\x18\x00\x2e\x00\x2c\x00\x18\x00\x09\x00\x09\x00\x19\x00\xba\x00\x64\x00\xe6\x00\x02\x01\x6f\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x03\x01\x0d\x01\xbf\x00\xb3\x00\xa6\x00\xb3\x00\x10\x01\x11\x01\xf5\x00\x1a\x00\xf7\x00\xf8\x00\xf9\x00\xe6\x00\x0d\x01\x03\x01\xf9\x00\xf9\x00\x1b\x00\x26\x00\x0c\x01\x03\x01\x36\x00\x0a\x00\x51\x00\x26\x00\x51\x00\x28\x00\xf5\x00\x51\x00\xf7\x00\xf8\x00\xf9\x00\xe6\x00\x51\x00\x10\x01\x11\x01\x03\x01\x33\x00\x34\x00\x35\x00\xd8\x00\x03\x00\xbf\x00\x03\x01\x03\x01\x8e\x00\x03\x01\xf5\x00\xfb\x00\xf7\x00\xf8\x00\xf9\x00\x51\x00\x4c\x00\x10\x01\x11\x01\x5b\x00\x4c\x00\x5d\x00\x03\x01\x73\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x1c\x00\xf9\x00\x6a\x00\x6b\x00\x76\x00\x10\x01\x11\x01\x5b\x00\x0d\x01\x5d\x00\xe6\x00\x9b\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x9b\x00\x9f\x00\x6a\x00\x6b\x00\x4d\x00\xf5\x00\x2f\x00\xf7\x00\xf8\x00\xf9\x00\xe6\x00\x8f\x00\x36\x00\x95\x00\x34\x00\x30\x00\x52\x00\x50\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\xba\x00\xd1\x00\xf5\x00\xa6\x00\xf7\x00\xf8\x00\xf9\x00\x11\x00\x6f\x00\x10\x01\x11\x01\x5b\x00\x0d\x01\x5d\x00\xba\x00\x35\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x09\x01\x02\x01\x6a\x00\x6b\x00\x6f\x00\x10\x01\x11\x01\x5b\x00\x02\x01\x5d\x00\x84\x00\x02\x01\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x9b\x00\x76\x00\x6a\x00\x6b\x00\x0c\x01\x1d\x00\x18\x00\x5b\x00\x03\x01\x5d\x00\x37\x00\xd1\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x0d\x01\x02\x01\x6a\x00\x6b\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\xf9\x00\x03\x01\x03\x01\x03\x01\x93\x00\x32\x00\x03\x01\x5b\x00\x11\x00\x5d\x00\xe6\x00\x03\x01\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xe9\x00\x2f\x00\x6a\x00\x6b\x00\x31\x00\xf5\x00\x76\x00\xf7\x00\xf8\x00\xf9\x00\xe6\x00\xf4\x00\xf5\x00\xf6\x00\x2a\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\x10\x01\x11\x01\x5b\x00\xff\xff\x5d\x00\xff\xff\x0f\x01\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\x6b\x00\xff\xff\x10\x01\x11\x01\x5b\x00\xff\xff\x5d\x00\xe6\x00\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\x6b\x00\xff\xff\xf5\x00\xe9\x00\xf7\x00\xf8\x00\xf9\x00\xe6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf4\x00\xf5\x00\xf6\x00\xff\xff\xf8\x00\xf9\x00\xff\xff\xff\xff\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xe6\x00\xff\xff\x10\x01\x11\x01\x9c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x01\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\x10\x01\x11\x01\xff\xff\x5b\x00\xff\xff\x5d\x00\xff\xff\xe6\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\x6b\x00\x10\x01\x11\x01\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\x5d\x00\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\x6b\x00\x10\x01\x11\x01\xff\xff\xff\xff\xff\xff\xe6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xeb\x00\xff\xff\xff\xff\xee\x00\xff\xff\xf0\x00\xff\xff\xf2\x00\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xe6\x00\xff\xff\xfa\x00\xfb\x00\xfc\x00\xff\xff\xfe\x00\xff\x00\x00\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\x10\x01\x11\x01\x5b\x00\xff\xff\x5d\x00\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\x6b\x00\xff\xff\x10\x01\x11\x01\x5b\x00\xff\xff\x5d\x00\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\x6b\x00\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\x5d\x00\xff\xff\xe6\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\x5d\x00\xff\xff\xe6\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\x6a\x00\x6b\x00\x10\x01\x11\x01\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\x5d\x00\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\x6b\x00\x10\x01\x11\x01\xff\xff\xff\xff\x5b\x00\xff\xff\x5d\x00\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xe6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xe6\x00\x5b\x00\xff\xff\x5d\x00\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xe6\x00\x5b\x00\x10\x01\x11\x01\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\x10\x01\x11\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0b\x01\xff\xff\xff\xff\xff\xff\xff\xff\x10\x01\x11\x01\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\x5d\x00\xff\xff\xe6\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\x10\x01\x11\x01\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xff\xff\xe6\x00\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xf5\x00\x0b\x01\xf7\x00\xf8\x00\xf9\x00\xff\xff\x10\x01\x11\x01\x5b\x00\xff\xff\x5d\x00\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe6\x00\x10\x01\x11\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\x5b\x00\xff\xff\x5d\x00\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\xf5\x00\xff\xff\xff\xff\xf8\x00\xf9\x00\xff\xff\xff\xff\x10\x01\x11\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\x5d\x00\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x10\x01\x11\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5b\x00\xff\xff\x5d\x00\xff\xff\xe6\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\x5e\x00\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\x10\x01\x11\x01\xf8\x00\xf9\x00\xff\xff\xff\xff\xe6\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\x10\x01\x11\x01\xff\xff\xff\xff\xff\xff\xff\xff\x5e\x00\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\xe6\x00\xff\xff\xff\xff\xff\xff\x10\x01\x11\x01\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\x7e\x00\x7f\x00\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe6\x00\xff\xff\xff\xff\xff\xff\xf4\x00\xf5\x00\xf6\x00\xff\xff\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\x10\x01\x11\x01\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xe6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\x0f\x01\xff\xff\xff\xff\xff\xff\xf5\x00\xff\xff\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\x10\x01\x11\x01\xe9\x00\xff\xff\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\x23\x00\xff\xff\x25\x00\x26\x00\xf5\x00\x28\x00\x29\x00\xf8\x00\xf9\x00\xb9\x00\x10\x01\x11\x01\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xee\x00\xff\xff\x10\x01\x11\x01\xf2\x00\xff\xff\xff\xff\xf5\x00\xff\xff\xff\xff\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xff\xff\xff\xff\xff\xff\xe9\x00\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xf5\x00\xff\xff\xff\xff\xf8\x00\xf9\x00\x10\x01\x11\x01\x12\x01\x13\x01\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xf5\x00\xff\xff\xff\xff\xf8\x00\xf9\x00\xff\xff\x01\x01\xff\xff\xff\xff\xff\xff\x10\x01\x11\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x10\x01\x11\x01\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xe9\x00\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xf4\x00\xf5\x00\xf6\x00\x2b\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x0f\x01\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\x6d\x00\xff\xff\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\xff\xff\x76\x00\xff\xff\x78\x00\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\x9a\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x18\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x26\x00\x19\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\x6d\x00\xff\xff\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\xff\xff\x76\x00\xff\xff\x78\x00\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9a\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\xff\xff\x76\x00\xff\xff\x78\x00\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x92\x00\x93\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9a\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xe9\x00\x6b\x00\xff\xff\xff\xff\xff\xff\x6f\x00\x70\x00\x71\x00\xff\xff\xff\xff\x74\x00\xf4\x00\xf5\x00\xf6\x00\xff\xff\xf8\x00\xf9\x00\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x0f\x01\xff\xff\xff\xff\x93\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\x63\x00\x64\x00\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\x6f\x00\x70\x00\x71\x00\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x93\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xeb\x00\x68\x00\x69\x00\xee\x00\x6b\x00\xf0\x00\xff\xff\xf2\x00\x6f\x00\x70\x00\x71\x00\xff\xff\xff\xff\x74\x00\xff\xff\xfa\x00\xfb\x00\xfc\x00\xff\xff\xfe\x00\xff\x00\x00\x01\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x93\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xeb\x00\x68\x00\x69\x00\xee\x00\x6b\x00\xf0\x00\xff\xff\xf2\x00\x6f\x00\x70\x00\x71\x00\xff\xff\xff\xff\x74\x00\xff\xff\xfa\x00\xfb\x00\xfc\x00\xff\xff\xfe\x00\xff\x00\x00\x01\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x93\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\x63\x00\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x93\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\x63\x00\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x93\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xeb\x00\x68\x00\x69\x00\xee\x00\x6b\x00\xf0\x00\xff\xff\xf2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xfa\x00\xfb\x00\xfc\x00\xff\xff\xfe\x00\xff\x00\x00\x01\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x93\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\xff\xff\x26\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x31\x00\xff\xff\x33\x00\x34\x00\x35\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\xff\xff\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\x8e\x00\x8f\x00\x24\x00\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\xf4\x00\xf5\x00\xf6\x00\xff\xff\xf8\x00\xf9\x00\xff\xff\x3d\x00\x3e\x00\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xf4\x00\xf5\x00\xf6\x00\xff\xff\xf8\x00\xf9\x00\xff\xff\x0f\x01\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0f\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\x7e\x00\x0c\x00\x0d\x00\x81\x00\x82\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\x8e\x00\x8f\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\xff\xff\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\x8e\x00\x8f\x00\x24\x00\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x31\x00\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x23\x00\xff\xff\x25\x00\x26\x00\xff\xff\x28\x00\x29\x00\x2a\x00\xff\xff\x2c\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x34\x00\x35\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\x0d\x00\x81\x00\x82\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\x1a\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\x20\x00\x21\x00\x8e\x00\x8f\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\x20\x00\x21\x00\x8e\x00\x8f\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\x52\x00\x21\x00\x8e\x00\x8f\x00\x24\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\x0d\x00\x81\x00\x82\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\x8e\x00\x8f\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\x52\x00\x21\x00\x8e\x00\x8f\x00\x24\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x8e\x00\x8f\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\x8e\x00\x8f\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x69\x00\xff\xff\x6b\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x7e\x00\x19\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x72\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x18\x00\x7e\x00\x7f\x00\x0d\x00\x81\x00\x82\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\xff\xff\x17\x00\x26\x00\x19\x00\x28\x00\x8e\x00\x8f\x00\xff\xff\xff\xff\x1f\x00\x2e\x00\x21\x00\xff\xff\xff\xff\x24\x00\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\x8e\x00\x8f\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\x8e\x00\x8f\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x69\x00\xff\xff\x6b\x00\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x7e\x00\x19\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\x25\x00\xff\xff\xff\xff\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\x8e\x00\x8f\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\x8e\x00\x8f\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\x8e\x00\x8f\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\x8e\x00\x8f\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x6b\x00\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x7e\x00\x19\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\x25\x00\xff\xff\xff\xff\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\x8e\x00\x8f\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x6b\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x7e\x00\x19\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x6b\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x7e\x00\x19\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x6b\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x7e\x00\x19\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\x8e\x00\x8f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x25\x00\x26\x00\xff\xff\x28\x00\x29\x00\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x8f\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\xff\xff\xff\xff\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\xff\xff\xff\xff\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\x1a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\x20\x00\x21\x00\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\xff\xff\xff\xff\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\xff\xff\x28\x00\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\x7a\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\x7a\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\x1c\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\x6c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\x00\x8a\x00\x8b\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\x30\x00\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xff\xff\x44\x00\x45\x00\x46\x00\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\xff\xff\x0c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x1f\x00\xff\xff\x06\x00\x07\x00\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\x75\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x1f\x00\xff\xff\x06\x00\x07\x00\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xad\x00\xae\x00\xaf\x00\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x68\x00\x69\x00\xff\xff\x6b\x00\xb9\x00\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\x75\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x09\x00\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\x17\x00\xff\xff\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x34\x00\x35\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\x68\x00\x69\x00\x01\x00\x6b\x00\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x17\x00\x81\x00\x82\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x68\x00\x69\x00\x01\x00\x6b\x00\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x17\x00\x81\x00\x82\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x01\x00\x6b\x00\x03\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x17\x00\x81\x00\x82\x00\x68\x00\x69\x00\x01\x00\x6b\x00\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\x24\x00\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x01\x00\x81\x00\x82\x00\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x1c\x00\x81\x00\x82\x00\x68\x00\x69\x00\xff\xff\x6b\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\x75\x00\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x1d\x00\xff\xff\x68\x00\x69\x00\x06\x00\x6b\x00\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x7e\x00\x7f\x00\x01\x00\x81\x00\x82\x00\xff\xff\xff\xff\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x68\x00\x69\x00\x01\x00\x6b\x00\x03\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x17\x00\x81\x00\x82\x00\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x01\x00\xff\xff\xff\xff\x68\x00\x69\x00\x06\x00\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x17\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x01\x00\x81\x00\x82\x00\x68\x00\x69\x00\x06\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x01\x00\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x17\x00\x81\x00\x82\x00\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x1f\x00\xff\xff\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x01\x00\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\x17\x00\x81\x00\x82\x00\x68\x00\x69\x00\x01\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x17\x00\x81\x00\x82\x00\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x01\x00\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x17\x00\x81\x00\x82\x00\x68\x00\x69\x00\x01\x00\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x17\x00\x81\x00\x82\x00\x68\x00\x69\x00\x01\x00\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x01\x00\x81\x00\x82\x00\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x17\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x01\x00\x81\x00\x82\x00\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x01\x00\x81\x00\x82\x00\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\x6b\x00\x17\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x26\x00\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\x6b\x00\x17\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\x01\x00\x6b\x00\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\xff\xff\x01\x00\xff\xff\x6b\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\x01\x00\xff\xff\x6b\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\x6b\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\x6b\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\x6b\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x01\x00\xff\xff\x81\x00\x82\x00\xff\xff\x06\x00\x6b\x00\x08\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc5\x00\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc6\x00\xc7\x00\xff\xff\xc9\x00\xff\xff\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xd2\x00\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xb9\x00\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\x01\x01\xd7\x00\xff\xff\xd9\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xb9\x00\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xb9\x00\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\x01\x01\xd7\x00\xff\xff\xd9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc8\x00\xc9\x00\xff\xff\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xd2\x00\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xb9\x00\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\x01\x01\xd7\x00\xff\xff\xd9\x00\xff\xff\xac\x00\xad\x00\xae\x00\xaf\x00\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xb9\x00\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xb9\x00\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\x01\x01\xd7\x00\xff\xff\xd9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc8\x00\xc9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc8\x00\xc9\x00\xff\xff\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xd2\x00\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xb9\x00\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\x01\x01\xff\xff\xff\xff\xd9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xc9\x00\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd3\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\x01\x01\x02\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xb0\x00\xff\xff\xff\xff\xb3\x00\xb4\x00\xff\xff\xb6\x00\xff\xff\xb8\x00\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xec\x00\xff\xff\xee\x00\xff\xff\xff\xff\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xb0\x00\xff\xff\xff\xff\xb3\x00\xb4\x00\xff\xff\xb6\x00\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb6\x00\xff\xff\xff\xff\xb9\x00\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xc2\x00\xc3\x00\xe9\x00\xff\xff\xff\xff\xec\x00\xff\xff\xee\x00\xff\xff\xff\xff\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xff\xff\xfd\x00\xff\xff\xff\x00\x00\x01\x01\x01\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xec\x00\xff\xff\xee\x00\xff\xff\xff\xff\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xff\xff\xfd\x00\xff\xff\xff\x00\x00\x01\x01\x01\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb6\x00\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xca\x00\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xb6\x00\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xec\x00\xff\xff\xee\x00\xff\xff\xff\xff\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xff\xff\xfd\x00\xff\xff\xff\x00\x00\x01\x01\x01\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xec\x00\xff\xff\xee\x00\xff\xff\xff\xff\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xff\xff\xfd\x00\xff\xff\xff\x00\x00\x01\x01\x01\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xb6\x00\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb6\x00\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xec\x00\xff\xff\xee\x00\xff\xff\xff\xff\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xff\xff\xfd\x00\xff\xff\xff\x00\x00\x01\x01\x01\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xec\x00\xff\xff\xee\x00\xff\xff\xff\xff\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xff\xff\xfd\x00\xff\xff\xff\x00\x00\x01\x01\x01\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb6\x00\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb6\x00\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xec\x00\xff\xff\xee\x00\xff\xff\xff\xff\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xff\xff\xfd\x00\xff\xff\xff\x00\x00\x01\x01\x01\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xec\x00\xff\xff\xee\x00\xff\xff\xff\xff\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xff\xff\xfd\x00\xff\xff\xff\x00\x00\x01\x01\x01\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb6\x00\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xec\x00\xff\xff\xee\x00\xff\xff\xff\xff\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xff\xff\xfd\x00\xff\xff\xff\x00\x00\x01\x01\x01\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xcd\x00\xce\x00\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xce\x00\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb8\x00\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb7\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\x01\x01\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xa5\x00\xff\xff\xe9\x00\xa8\x00\xa9\x00\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xb9\x00\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xa8\x00\xff\xff\xaa\x00\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x01\xff\xff\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xac\x00\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xb9\x00\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x01\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xb9\x00\xff\xff\xff\xff\xbc\x00\xbd\x00\xbe\x00\x01\x01\xc0\x00\xc1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xff\xff\xff\xff\xbc\x00\xbd\x00\xbe\x00\xff\xff\xc0\x00\xc1\x00\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xb9\x00\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x01\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xb9\x00\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x01\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xb9\x00\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x01\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xb9\x00\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x01\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xb9\x00\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xb9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x01\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xad\x00\xae\x00\xaf\x00\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xb9\x00\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\x01\x01\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x01\xff\xff\xdf\x00\xff\xff\xe1\x00\xe2\x00\xff\xff\xff\xff\xe5\x00\xe6\x00\xff\xff\xff\xff\xe9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xf9\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#--happyTable :: HappyAddr-happyTable = HappyA# "\x00\x00\x12\x00\x0e\x00\x10\x00\xa8\x00\x14\x00\xa9\x00\xae\x03\xaf\x03\xb0\x03\x0c\x00\xf0\x04\x22\x05\x08\x05\xb0\x00\xa0\x00\x59\x02\x85\x03\xb3\x02\xb4\x02\xb5\x00\x51\x02\xb5\x00\x1b\x02\xff\x00\x67\x03\xb5\x00\x51\x02\x23\x05\x24\x05\xf7\x03\xb0\x00\xcc\x03\xb3\x02\xb4\x02\x47\x02\x72\x04\x73\x04\x50\x02\xb5\x00\xa7\x04\xb1\x00\xae\xff\xb0\x00\x8a\x04\xb5\x00\xa7\x04\x30\x05\xb5\x00\x1b\x02\x80\x03\xb5\x00\xf0\x02\x33\x03\x50\x02\xb0\x00\x04\x01\xb5\x00\xf0\x02\xb5\x00\xad\x04\xda\x01\xb5\x00\xad\x04\xc2\x02\x4f\x04\xb5\x00\xbc\x04\x54\x02\x91\x02\xfe\x00\xca\x03\x84\x00\xf8\x00\x52\x02\x80\x03\xe0\x01\x5f\x04\x19\xfd\xa7\x01\xa0\x01\xb5\x00\xbc\x04\x7a\x03\x7e\x03\x18\x02\x50\x02\xb5\x00\xf4\x04\x76\x01\xa0\x01\xb5\x00\xf4\x04\x7e\x04\xa3\x00\x8c\x04\x8d\x04\xd5\x04\x02\x05\x23\x04\xf9\x00\x55\x05\x77\x01\xae\x00\xdb\x00\xaf\x00\xdd\x00\x50\x02\x31\x00\x32\x00\xa1\x01\x8e\x04\x60\x04\x8e\x04\xf9\x00\x89\x00\xdb\x01\xf9\x00\xff\xff\x7b\x03\xa1\x01\x90\x03\x9a\x04\x73\x04\xdb\x01\x89\x00\xc9\x04\x24\x04\x50\x04\x19\x02\x5a\x00\xa0\x01\x5b\x00\x5c\x00\xe0\x00\xf6\x04\x17\x00\x1a\x02\xdd\x02\xf5\x04\xdb\x00\x4c\x02\x4d\x02\xa4\x04\xcd\x03\xb4\x02\x80\x04\xc4\x02\xb0\x00\x2b\x03\xd6\x04\xd7\x04\x6e\x02\x8c\x00\x17\x00\xe7\x01\xca\x01\xe8\x01\x43\x05\xd2\x04\x19\xfd\xa1\x01\x4e\x02\xea\x01\xeb\x01\xde\x02\x14\x03\xbb\x04\x89\x00\xec\x01\x8a\x00\x32\x00\xbe\x04\xb5\x02\x31\x00\x32\x00\xa9\x04\xed\x01\x84\x03\xb0\x00\xf8\x03\xee\x01\xa8\x04\xef\x01\xf0\x01\xf1\x01\x37\x03\xbd\x04\xb5\x02\x9d\x03\xaf\x04\x2e\x00\x95\x01\xae\x04\x34\x02\x48\x02\x8c\x00\xf9\x03\x2e\x00\x74\x04\x1a\x03\xd7\x00\xe7\x01\x81\x03\xe8\x01\xc7\x01\x2e\x00\x95\x01\xb2\x00\x9e\x03\xea\x01\xeb\x01\x7f\x03\xf1\x04\x22\x03\x89\x00\xec\x01\x8a\x00\x32\x00\xb1\x03\x89\x01\x1d\x02\x25\x05\x7a\x02\xed\x01\xb2\x00\x26\x05\x55\x02\xee\x01\x65\x05\xef\x01\xf0\x01\xf1\x01\x53\x02\x2d\x00\x2e\x00\x2f\x00\xb2\x00\x31\x00\x32\x00\x2e\x00\x95\x01\xf3\x02\x09\x05\x96\x01\x57\x05\x58\x05\x1c\x02\xf1\x02\xb2\x00\xbf\x01\x47\x03\xc0\x01\xc1\x01\xb1\x03\x0d\x00\x0d\x00\x0d\x00\x7a\x02\x0d\x00\x0d\x00\xb2\x03\xa1\x00\xa1\x00\x0d\x00\x27\x05\x2d\x00\x2e\x00\x2f\x00\x2d\x00\x2e\x00\x2f\x00\xf2\x01\x31\x00\x32\x00\x0f\x00\x13\x00\x11\x00\xf8\x03\x3a\x00\xf3\x01\x1a\x00\xf4\x01\x1c\x00\x2e\x00\x74\x04\x1d\x00\x1e\x00\x1f\x00\xd0\x04\xd1\x04\x20\x00\x21\x00\x22\x00\x25\x05\xf9\x03\xb2\x03\x89\x00\x26\x05\xb5\x02\x50\x02\xbf\x04\x8f\x04\x23\x00\x8f\x04\xd8\x01\x90\x04\x46\x03\x90\x04\xd9\x01\xa3\x01\xa4\x01\x2e\x00\x95\x01\xda\x01\x50\x02\x96\x01\x2e\x00\x95\x01\xf2\x01\x2e\x00\x95\x01\x2e\x00\x95\x01\x96\x01\x45\x05\x96\x01\xf3\x01\x1a\x00\xf4\x01\x1c\x00\x61\x04\x89\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\x27\x05\x20\x00\x21\x00\x22\x00\x26\x00\x47\x02\x27\x00\x28\x00\x70\x02\x08\x04\x29\x00\x2a\x00\x89\x00\x23\x00\x2b\x00\x09\x04\x81\x04\x3c\x01\x84\x00\x3c\x02\x82\x04\xe0\x01\x57\x04\x8c\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x2d\x00\x2e\x00\x2f\x00\x39\x02\x31\x00\x32\x00\x5f\x05\x33\x00\xe4\x04\x8c\x00\xf5\x01\xf6\x01\x38\x03\xa4\x01\xe1\x01\x39\x03\xf7\x01\x3a\x03\x08\x04\x69\x01\x26\x00\x3a\x02\x27\x00\x28\x00\x1e\x05\xb9\x04\x29\x00\x2a\x00\xcf\x00\x3b\x03\x2b\x00\xa5\x01\x3c\x03\xd7\x00\xd2\x04\xb1\x02\xb2\x02\xb3\x02\xb4\x02\x3b\x03\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xc0\x04\x32\x00\x31\x00\x32\x00\xbc\x03\x8f\x04\xe7\x01\x33\x00\xe8\x01\x90\x04\xf5\x01\xf6\x01\xbd\x03\xe9\x01\xea\x01\xeb\x01\xf7\x01\x8c\x01\x8d\x01\x8e\x01\xec\x01\x3b\x02\x8f\x04\x2e\x00\x95\x01\x2a\x05\x90\x04\x96\x01\xed\x01\x30\x00\x3c\x02\xc3\x01\xee\x01\x41\x03\xef\x01\xf0\x01\xf1\x01\xda\x00\xdb\x00\x4c\x04\x2e\x00\x95\x01\xcf\x00\x96\x01\x96\x01\xe7\x01\x47\x03\xe8\x01\x36\x03\x89\x00\x14\x02\x6a\x01\x42\x03\xd5\x04\x3f\x03\x0d\x05\x0b\x05\x2e\x00\x95\x01\xec\x01\x89\x00\x2d\x00\x2e\x00\x2f\x00\xb0\x00\x3e\x03\xdf\x00\xed\x01\x15\x02\x38\x02\x16\x02\xee\x01\x37\x03\xef\x01\xf0\x01\xf1\x01\x48\x02\x8c\x00\xc7\x01\xe2\x00\x60\x01\xe4\x00\x89\x00\x2e\x00\xdc\x03\x8a\x00\x32\x00\x48\x02\x8c\x00\x7b\x00\x95\x00\x7c\x00\x89\x00\x96\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xdd\x03\x0c\x05\x86\x00\x87\x00\x2f\x02\x34\x05\xff\xff\x3d\x01\x8c\x00\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x48\x02\x8c\x00\xce\x00\x14\x04\xf2\x01\xda\x00\xdb\x00\xdc\x00\xdd\x00\xae\x02\xaf\x02\xcf\x00\xf3\x01\x1a\x00\xf4\x01\x1c\x00\x8c\x03\x8d\x03\x1d\x00\x1e\x00\x1f\x00\x77\x04\x15\x04\x20\x00\x21\x00\x22\x00\xb5\x02\x96\x01\xd5\x04\x3a\x00\x3b\x00\xe1\x02\xb0\x00\x7f\x01\xdf\x00\x23\x00\xe0\x00\xe2\x02\x36\x02\x15\x02\xe7\x01\x16\x02\xe8\x01\xf2\x01\x2e\x00\x95\x01\x80\x04\xe2\x00\x60\x01\xe4\x00\x50\x02\xf3\x01\x1a\x00\xf4\x01\x1c\x00\x37\x02\xff\xff\x1d\x00\x1e\x00\x1f\x00\x2e\x00\x71\x03\x20\x00\x21\x00\x22\x00\x63\x02\x64\x02\x3a\x00\xef\x01\xf0\x01\xf1\x01\xc6\x02\xc7\x02\x26\x00\x23\x00\x27\x00\x28\x00\x86\x01\x72\x03\x29\x00\x2a\x00\x54\x05\xd7\x04\x2b\x00\xb1\x02\x2e\x00\xc8\x02\x3d\x05\x47\x03\x96\x01\x2e\x00\x71\x03\x95\xfd\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x3a\x00\x3b\x00\xc9\x02\x2d\x00\x2e\x00\x2f\x00\x3e\x05\x33\x00\xde\x03\x88\x00\xf5\x01\xf6\x01\x26\x00\x50\x02\x27\x00\x28\x00\xf7\x01\x69\x03\x29\x00\x2a\x00\x2e\x00\xdc\x03\x2b\x00\x3a\x00\x89\x00\x50\x02\x30\x00\x8a\x00\x32\x00\x2b\x05\x91\x02\x79\x01\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x9f\x04\xb1\x02\x89\x00\x91\x02\xda\x00\x8a\x00\x32\x00\x33\x00\x2e\x00\x95\x01\xf5\x01\xf6\x01\x8b\x00\x8c\x00\xb3\x01\xb4\x01\xf7\x01\x89\x00\xf2\x01\x3a\x00\xb0\x01\x32\x00\xce\x01\xf2\x03\xe7\x01\xb5\x01\xe8\x01\xac\x04\x65\x02\x8b\x00\x8c\x00\xc7\x01\x1d\x00\xdf\x00\x1f\x00\x78\x01\xb1\x02\x20\x00\x21\x00\x22\x00\x2d\x00\x2e\x00\x2f\x00\x47\x03\x2c\x02\x8c\x00\xe2\x00\x60\x01\xe4\x00\x23\x00\xdd\x04\xff\xff\xef\x01\xf0\x01\xf1\x01\x1c\x05\x69\x03\x6a\x03\x2d\x00\x2e\x00\x2f\x00\x1d\x05\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xe7\x01\x52\x04\xe8\x01\xc6\x01\xcb\x01\x9a\x01\xda\x00\xdb\x00\x3a\x00\x3b\x00\x36\x03\xb5\x00\x9b\x01\xcf\x00\xc7\x01\x66\x02\x67\x02\x26\x00\xf9\x03\x27\x00\x28\x00\xc8\x03\x6a\x01\x29\x00\x68\x02\x80\x04\xdd\x04\x2b\x00\xef\x01\xf0\x01\xf1\x01\xd0\x03\xba\x02\xbb\x02\xc9\x01\xdf\x00\xca\x01\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x3a\x00\x3b\x00\xd7\x02\xd1\x00\xe2\x00\x60\x01\xe4\x00\x33\x00\xae\x02\xdb\x03\xf5\x01\xf6\x01\xfb\x00\xd8\x02\xd9\x02\x29\x03\xf7\x01\xc2\x04\xde\x04\xdf\x04\xb4\x00\xe0\x04\xca\x01\xb0\x04\x6a\x03\x71\x02\x96\x01\xf2\x01\x3c\x02\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x65\x02\x8e\x02\x3a\x00\x3b\x00\x1d\x00\x8f\x02\x1f\x00\x3a\x00\x3b\x00\x20\x00\x21\x00\x22\x00\xe7\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x80\x04\x6e\x03\x23\x00\xff\x04\x6f\x03\xbf\x00\xfb\x00\xc0\x00\x8e\x01\x35\x05\xd2\x00\xe0\x04\xba\x00\xc1\x00\x00\x05\x8f\x01\xac\x00\xf2\x01\xd3\x00\xd4\x00\xd5\x00\x5d\x05\xd6\x00\xd7\x00\xd8\x00\xd2\x01\xe7\x01\x65\x02\xe8\x01\xd3\x01\xf8\x00\x1d\x00\x5e\x05\x1f\x00\xd4\x01\xf7\x00\x20\x00\x21\x00\x22\x00\xf6\x00\x26\x00\x89\x00\x27\x00\x28\x00\x8a\x00\x32\x00\x29\x00\x2a\x00\x23\x00\xff\xff\x2b\x00\x63\x02\x64\x02\xe5\x00\xef\x01\xf0\x01\xf1\x01\xb0\x00\xcf\x03\xbb\x02\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xb9\x00\x8b\x00\x8c\x00\xff\xff\x0f\x02\x93\x01\xe7\x01\x33\x00\xe8\x01\x94\x01\xf5\x01\xf6\x01\xd3\x00\xd4\x00\x5f\x05\xb4\x00\xf7\x01\x91\x01\x92\x01\x26\x00\x1d\x05\x27\x00\x28\x00\x2e\x00\x95\x01\x29\x00\x2a\x00\x96\x01\xff\xff\x2b\x00\x90\x01\xf7\xfd\xbb\x03\xf7\xfd\xef\x01\xf0\x01\xf1\x01\x8f\x01\xac\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xa3\x00\xbc\x02\xb9\x02\xba\x02\xbb\x02\x99\x03\x79\x02\x33\x00\x36\x03\x89\x00\xf5\x01\xf6\x01\x8a\x00\x32\x00\x21\x02\x4f\x04\xf7\x01\x51\x02\xb8\x02\xb9\x02\xba\x02\xbb\x02\x38\x03\x0a\x05\x0b\x05\x39\x03\x42\x02\x37\x04\x89\x00\xaa\x00\xf2\x01\x8a\x00\x32\x00\x41\x02\xab\x00\xac\x00\x8b\x00\x8c\x00\x40\x02\x3b\x03\x65\x02\x3f\x02\x3c\x03\xd7\x00\x1d\x00\xf6\xfd\x1f\x00\xf6\xfd\x3e\x02\x20\x00\x21\x00\x22\x00\x8c\x01\x8d\x01\x8e\x01\x8b\x00\x8c\x00\x7b\x00\xef\xfd\x7c\x00\xef\xfd\x23\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x0f\x02\x0c\x05\x86\x00\x87\x00\x08\x01\x09\x01\x0a\x01\xf2\x01\xd3\x00\xd4\x00\x70\x01\x3d\x02\xd6\x00\xd7\x00\xd8\x00\x93\x01\xee\xfd\x65\x02\xee\xfd\x94\x01\xed\xfd\x1d\x00\xed\xfd\x1f\x00\x5e\x02\x5f\x02\x20\x00\x21\x00\x22\x00\x26\x00\x7a\x02\x27\x00\x28\x00\x2e\x00\x95\x01\x29\x00\x2a\x00\x96\x01\x23\x00\x2b\x00\x93\x01\x7b\x02\x2e\x00\x2f\x00\x94\x01\x31\x00\x32\x00\x44\x03\x45\x03\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xbb\x00\xbc\x00\x2e\x00\x95\x01\x2e\x00\x16\x04\x96\x01\x33\x00\x17\x04\xbd\x00\xf5\x01\xf6\x01\x7c\x02\xa3\x01\xa4\x01\x19\x03\xf7\x01\x93\x01\x1a\x03\xd7\x00\x26\x00\x94\x01\x27\x00\x28\x00\x31\x00\x32\x00\x29\x00\x2a\x00\x44\x03\x45\x03\x2b\x00\x91\x01\xb7\x02\x38\x05\x93\x01\x2e\x00\x95\x01\x35\x02\x94\x01\x96\x01\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x19\x02\x5a\x00\x8a\x04\x5b\x00\x5c\x00\x2e\x00\x95\x01\x33\x00\x1a\x02\x96\x01\xf5\x01\xf6\x01\xe9\x03\xea\x03\xf2\x03\x49\x05\xf7\x01\xf3\x03\xf4\x03\x7b\x00\xeb\xfd\x7c\x00\xeb\xfd\x88\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x33\x02\x0c\x05\x86\x00\x87\x00\x32\x02\x5b\x03\x89\x00\x31\x02\x30\x00\x8a\x00\x32\x00\x70\x01\x27\xfd\xd6\x00\xd7\x00\xd8\x00\x7b\x00\xdb\x00\x7c\x00\xdd\x00\x29\x02\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x2a\x02\x0c\x05\x86\x00\x87\x00\x8b\x00\x8c\x00\x28\x02\x7b\x00\x5c\x03\x5d\x03\xad\x03\xae\x03\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x71\x04\x6e\x04\xc5\x00\x87\x00\x5e\x03\xc7\x00\xda\x04\x6a\x03\xfe\x03\xff\x03\x00\x04\x01\x04\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x6d\x04\x6e\x04\xec\xfd\x7b\x00\xec\xfd\x7c\x00\x38\x00\x39\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xa3\x01\xa4\x01\x6f\x04\x87\x00\xf8\x04\x6e\x04\x93\x01\x7b\x00\x23\x02\x7c\x00\x94\x01\x21\x02\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x44\x03\x45\x03\x6f\x04\x87\x00\x2e\x00\x95\x01\x20\x02\x7b\x00\x96\x01\x7c\x00\x3c\x05\x3d\x05\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x1b\x02\x88\x00\x6f\x04\x87\x00\xd3\x04\x14\x02\xd4\x04\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x12\x02\xea\xfd\x89\x00\xea\xfd\x30\x00\x8a\x00\x32\x00\xb7\x00\xb5\x00\xb6\x00\x96\x03\x97\x03\x77\x02\x78\x02\x79\x02\xe9\xfd\x88\x00\xe9\xfd\xda\x00\xdb\x00\xdc\x00\xdd\x00\x4c\x03\xda\x00\x4d\x03\xdc\x00\x58\x02\x09\x01\x0a\x01\x8b\x00\x8c\x00\x89\x00\x2e\x02\x30\x00\x8a\x00\x32\x00\x88\x00\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xc9\x00\x7f\x01\xdf\x00\xe8\xfd\xe0\x00\xe8\xfd\x89\x00\xdf\x00\x30\x00\x8a\x00\x32\x00\xe7\x04\xe7\x01\x8b\x00\x8c\x00\xe2\x00\x60\x01\xe4\x00\xe8\x04\xe9\x04\xe2\x00\x60\x01\xe4\x00\x7b\x03\x26\x03\xb4\x01\x89\x00\x88\x00\xe6\x01\x8a\x00\x32\x00\x51\x05\x52\x05\x8b\x00\x8c\x00\xb5\x01\x57\x02\xac\x00\x2d\x00\x2e\x00\x2f\x00\xe7\x04\x89\x00\x78\x03\x30\x00\x8a\x00\x32\x00\x88\x00\xe8\x04\xe9\x04\x2d\x00\x2e\x00\x2f\x00\x8b\x00\x8c\x00\xb4\x00\xb5\x00\xb6\x00\x2d\x00\x2e\x00\x2f\x00\xe4\x01\x89\x00\x7a\x02\x30\x00\x8a\x00\x32\x00\x88\x00\xe3\x01\x8b\x00\x8c\x00\xe7\xfd\x0f\x02\xe7\xfd\x7b\x02\x2e\x00\x2f\x00\xe2\x01\x31\x00\x32\x00\xd3\x00\xd4\x00\x89\x00\xdd\x01\x30\x00\x8a\x00\x32\x00\x89\x01\x8a\x01\x8b\x00\x8c\x00\x4d\x03\x49\x03\x4a\x03\x3a\x00\x3b\x00\x89\x00\xb5\x00\x9d\x01\x8a\x00\x32\x00\x7c\x02\xca\x01\xea\x04\xeb\x04\xec\x04\xed\x04\xb5\x00\x9c\x01\x8b\x00\x8c\x00\x3f\x01\xd0\x01\x40\x01\x76\x03\xe6\xfd\x65\x02\xe6\xfd\xd1\x01\x41\x01\x1d\x00\xd7\x01\x1f\x00\x8b\x00\x8c\x00\x20\x00\x21\x00\x22\x00\xd0\x01\x2d\x00\x2e\x00\x2f\x00\x75\x03\xcf\x01\x3f\x05\xec\x04\xed\x04\x23\x00\x15\x05\xf0\x01\xf1\x01\x89\x00\xb5\x00\x15\x03\x8a\x00\x32\x00\x65\x02\x2d\x00\x2e\x00\x2f\x00\x1d\x00\xc8\x01\x1f\x00\x0e\x05\x6a\x03\x20\x00\x21\x00\x22\x00\xbf\x01\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x23\x00\x8b\x00\x8c\x00\x7b\x04\x77\x02\x78\x02\x79\x02\x7c\x04\x26\x00\xbe\x01\x27\x00\x28\x00\xd2\x00\xbd\x01\x29\x00\x2a\x00\x2a\xfd\xe5\xfd\x2b\x00\xe5\xfd\xd3\x00\xd4\x00\xd5\x00\x2d\xfd\xd6\x00\xd7\x00\xd8\x00\xaa\x01\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x48\x03\x49\x03\x4a\x03\x26\x00\xa8\x01\x27\x00\x28\x00\x33\x00\x3a\x00\x29\x00\x2a\x00\x12\x03\x8a\x01\x2b\x00\x7b\x04\x77\x02\x78\x02\x79\x02\xfd\x04\x1b\x04\x1c\x04\x1d\x04\x1c\x03\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x10\x04\x11\x04\x12\x04\xb0\x00\xe4\xfd\x16\x05\xe4\xfd\x33\x00\xe3\xfd\x1d\x00\xe3\xfd\x1f\x00\xb5\x00\x11\x03\x20\x00\x21\x00\x22\x00\x09\x04\x0a\x04\x0b\x04\x17\x03\xe2\xfd\x7b\x00\xe2\xfd\x7c\x00\x10\x03\x23\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x7a\x02\x0c\x03\xcf\x00\x87\x00\xd0\x00\xc7\x00\x40\x04\x11\x04\x12\x04\xb5\x00\x10\x03\x7b\x02\x2e\x00\x2f\x00\x0e\x03\x31\x00\x32\x00\x0b\x03\x3b\x04\x11\x04\x12\x04\x0d\x03\x75\x02\x76\x02\x77\x02\x78\x02\x79\x02\x0a\x03\xdb\xfd\x26\x00\xdb\xfd\x27\x00\x28\x00\x02\x03\x03\x03\x29\x00\x2a\x00\xcd\x01\x7c\x02\x2b\x00\xda\xfd\x89\x00\xda\xfd\xcf\x00\x8a\x00\x32\x00\x7a\x02\xbd\x02\xbe\x02\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x6a\x01\x7b\x02\x2e\x00\x2f\x00\xfe\x02\x31\x00\x32\x00\x33\x00\xc5\x04\xc6\x04\xc7\x04\xf3\x02\x8b\x00\x8c\x00\xd8\xfd\x7b\x00\xd8\xfd\x7c\x00\xdb\x02\xd1\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x7c\x02\x0f\x02\xcf\x00\x87\x00\xd0\x00\xc7\x00\xc2\x04\x11\x04\x12\x04\xd3\x00\xd4\x00\x70\x01\xe9\x02\xd6\x00\xd7\x00\xd8\x00\x7b\x00\xc6\xfd\x7c\x00\xc6\xfd\xda\x02\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xe4\x02\xe5\x02\xc5\x00\x87\x00\x91\x02\x45\x02\x1f\x04\x7a\x02\xad\x02\x0a\x01\xd4\x01\x2e\x00\x2f\x00\x88\x00\xb0\x01\x32\x00\xb5\x00\x6c\x02\x7b\x02\x2e\x00\x2f\x00\xc2\x02\x31\x00\x32\x00\x68\xfe\xd2\x00\x68\xfe\x50\x02\x89\x00\x2e\x04\x30\x00\x8a\x00\x32\x00\xd3\x00\xd4\x00\xd5\x00\xc0\x02\xd6\x00\xd7\x00\xd8\x00\xbe\x01\x43\x05\x7b\x00\x45\x05\x7c\x00\x7c\x02\xd1\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x8b\x00\x8c\x00\xc9\x00\x87\x00\x95\x02\xca\x00\xcb\x00\x7b\x00\x07\x03\xc4\x00\xc0\x01\xdd\x01\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x46\x02\x8e\x02\xc5\x00\x87\x00\xc6\x00\xc7\x00\x8c\x02\x15\x02\x7b\x00\x16\x02\x7c\x00\x6a\x02\x6b\x02\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x89\x02\x88\x00\xc5\x00\x87\x00\x82\x02\xcb\x04\xd0\x02\xd1\x02\xd2\x02\xd3\x02\xd4\x02\xd5\x02\x88\x02\xb5\x04\xa7\x03\xa8\x03\x89\x00\x81\x02\x30\x00\x8a\x00\x32\x00\xd3\x00\xd4\x00\xd5\x00\x63\x02\xd6\x00\xd7\x00\xd8\x00\x5c\x02\xcc\x04\x88\x00\x00\x05\x09\x01\x0a\x01\xcc\x00\xdf\x02\xaf\x01\x2e\x00\x2f\x00\x62\x02\xb0\x01\x32\x00\x0f\x02\x8b\x00\x8c\x00\x89\x00\xae\x00\x30\x00\x8a\x00\x32\x00\xd3\x00\xd4\x00\x7b\x00\xaa\x03\x7c\x00\xa3\x03\xa4\x03\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xa7\x03\x85\x00\x86\x00\x87\x00\xfb\x04\x09\x01\x0a\x01\x8b\x00\x8c\x00\x4c\x05\x11\x04\x12\x04\x62\x05\x11\x04\x12\x04\xa6\x03\x7b\x00\xa0\x03\x7c\x00\x54\x01\x88\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x50\x02\x45\x01\x86\x00\x87\x00\xa0\x03\xa1\x03\x89\x00\x9d\x03\x30\x00\x8a\x00\x32\x00\x88\x00\x50\x03\x51\x03\x52\x03\x53\x03\x54\x03\x55\x03\x56\x03\x57\x03\x7a\x01\xb5\x00\x91\x03\x7b\x01\xcc\xfe\xe4\x01\x89\x00\xeb\x00\x30\x00\x8a\x00\x32\x00\x9c\x03\x88\x00\x8b\x00\x8c\x00\xd3\x00\xd4\x00\x7d\x01\x95\x03\xd6\x00\xd7\x00\xd8\x00\x8e\x03\x6f\x03\xd4\x00\x23\x03\x4d\x02\x89\x00\x75\x03\x30\x00\x8a\x00\x32\x00\x8f\x03\x8b\x00\x8c\x00\x7b\x00\x8b\x03\x7c\x00\x22\x03\x4d\x02\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x29\x04\x2b\x04\xc5\x00\x87\x00\x89\x03\x42\x02\x8b\x00\x8c\x00\x7b\x00\xdb\x00\x7c\x00\x29\x04\x2a\x04\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x88\x03\xae\x01\x86\x00\x87\x00\xbb\x00\xbc\x00\x1f\x04\x20\x04\x88\x00\x87\x03\x2e\x00\xe3\x03\x83\x03\xbd\x00\x63\x04\x64\x04\x51\x04\xd7\x00\xb4\x04\x0b\x04\x1a\x03\xd7\x00\x2a\x02\x89\x00\x85\x03\x30\x00\x8a\x00\x32\x00\x31\x00\x32\x00\xd3\x00\xd4\x00\x82\x03\x7b\x00\xc2\x02\x7c\x00\x71\x03\x88\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x6d\x03\x45\x03\x86\x00\x87\x00\x8b\x00\x8c\x00\x89\x00\x66\x03\x30\x00\x8a\x00\x32\x00\xaa\x04\xab\x04\x2e\x00\x99\x04\x65\x03\x7b\x00\x64\x03\x7c\x00\x1f\x05\x20\x05\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x63\x03\x40\x03\x86\x00\x87\x00\x8b\x00\x8c\x00\x60\x03\x7b\x00\x62\x03\x7c\x00\x19\x05\x1a\x05\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x61\x03\xe6\x03\x86\x00\x87\x00\x0f\x05\x10\x05\x5a\x03\x7b\x00\x50\x02\x7c\x00\x88\x00\x3f\x03\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x41\x01\x60\x04\x86\x00\x87\x00\x42\x01\x89\x00\xb4\x00\x30\x00\x8a\x00\x32\x00\x35\x03\x88\x00\x30\x03\x61\x05\x64\x04\x2d\x00\x2e\x00\x2f\x00\x2a\x03\x31\x00\x32\x00\x2e\x03\x26\x03\x2a\x03\xcd\x01\xc9\x01\x89\x00\x3a\x00\x30\x00\x8a\x00\x32\x00\x1f\x03\x8b\x00\x8c\x00\x7b\x00\x1e\x03\x7c\x00\x25\x04\x21\x02\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x19\x04\x4b\x04\x86\x00\x87\x00\x14\x04\x10\x04\x8b\x00\x8c\x00\x03\x04\x0d\x04\x88\x00\x4d\x03\xe8\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xf2\x03\xf0\x03\xd0\xfe\x03\x04\xf7\x03\xee\x03\x89\x00\xeb\x03\x30\x00\x8a\x00\x32\x00\xdb\x03\xda\x03\xd8\x03\xd9\x03\xd7\x03\x7b\x00\xd6\x03\x7c\x00\xd5\x03\x88\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xd4\x03\x11\x05\x86\x00\x87\x00\x8b\x00\x8c\x00\x89\x00\xc0\x02\x30\x00\x8a\x00\x32\x00\x88\x00\xcf\x03\xcc\x03\x20\x02\xc4\x03\xc5\x03\xc3\x03\x3a\x00\x3b\x00\xc2\x03\x50\x02\xdb\x00\xbb\x03\xdd\x00\xb9\x03\x89\x00\xba\x03\x30\x00\x8a\x00\x32\x00\x88\x00\x88\x04\x8b\x00\x8c\x00\xbf\x00\x87\x04\xc0\x00\x85\x04\xa0\x03\x7e\x04\x7b\x04\x7a\x04\xc1\x00\x6d\x04\x71\x04\x89\x00\x6c\x04\x30\x00\x8a\x00\x32\x00\x66\x04\xe0\x00\x8b\x00\x8c\x00\x7b\x00\x68\x04\x7c\x00\x5d\x04\x57\x04\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x56\x04\x05\x05\x86\x00\x87\x00\xb4\x00\x8b\x00\x8c\x00\x7b\x00\x54\x04\x7c\x00\x88\x00\x14\x04\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x10\x04\x33\x05\x86\x00\x87\x00\x4b\x04\x89\x00\x40\x04\x30\x00\x8a\x00\x32\x00\x3a\x04\x14\x04\x39\x04\x03\x04\x91\x02\x50\x02\x2e\x03\x30\x04\x95\x03\x76\x02\x77\x02\x78\x02\x79\x02\x17\x00\x89\x00\xc4\x04\xb7\x04\x8a\x00\x32\x00\x65\xfd\x14\x04\x0d\x04\x8b\x00\x8c\x00\x7b\x00\xb3\x04\x7c\x00\xb2\x04\x88\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xa4\x04\x31\x05\x86\x00\x87\x00\x8b\x00\x8c\x00\x89\x00\x9c\x04\x30\x00\x8a\x00\x32\x00\xa7\x04\x9f\x04\x9e\x04\x96\x04\x9d\x04\x7b\x00\x99\x04\x7c\x00\x98\x04\x95\x04\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x94\x04\x52\x05\x86\x00\x87\x00\x8b\x00\x8c\x00\x8c\x04\x7b\x00\xfd\x04\x7c\x00\xfa\x04\xf4\x04\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xf3\x04\x4d\x05\x86\x00\x87\x00\xda\x04\xe7\x04\xdd\x04\x7b\x00\x3a\x00\x7c\x00\x88\x00\xd0\x04\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x7a\x02\x4a\x05\x86\x00\x87\x00\xca\x04\x89\x00\x3c\x02\x30\x00\x8a\x00\x32\x00\x88\x00\x7b\x02\x2e\x00\x2f\x00\x22\x05\x31\x00\x32\x00\x1f\x05\x19\x05\x64\xfd\x05\x05\x08\x05\x04\x05\x02\x05\x47\x05\x89\x00\x44\x05\x30\x00\x8a\x00\x32\x00\x41\x05\x50\x02\x8b\x00\x8c\x00\x7b\x00\x30\x05\x7c\x00\x2f\x05\x7c\x02\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x2d\x05\x48\x05\x86\x00\x87\x00\x57\x05\x8b\x00\x8c\x00\x7b\x00\xf2\x03\x7c\x00\x88\x00\x10\x04\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x14\x04\x66\x05\x86\x00\x87\x00\x14\x04\x89\x00\x66\x04\x30\x00\x8a\x00\x32\x00\x5c\x05\x65\x05\x66\x04\x15\x00\x87\x01\x86\x01\x84\x01\x06\x01\xe6\x00\x88\x00\x44\x01\xba\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x4b\x02\x56\x02\x12\x02\x44\x02\x1e\x02\xcc\x00\x8b\x00\x8c\x00\x89\x00\xa8\x01\x30\x00\x8a\x00\x32\x00\x88\x00\xa1\x01\x9e\x01\x17\x03\x14\x03\x0e\x03\xe7\x02\xd5\x02\xe6\x02\xce\x02\x5c\x02\xc5\x02\xdf\x00\xc4\x02\xe0\x00\x89\x00\xc2\x02\x30\x00\x8a\x00\x32\x00\x88\x00\xc0\x02\x8b\x00\x8c\x00\x8c\x02\xe2\x00\x60\x01\xe4\x00\x86\x02\xaa\x03\x5a\x02\x84\x02\x60\x02\x89\x03\x5f\x02\x89\x00\x19\x03\x30\x00\x8a\x00\x32\x00\x7c\x03\x57\x03\x8b\x00\x8c\x00\x7b\x00\x4e\x03\x7c\x00\x2e\x03\x58\x03\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x24\x03\x20\x03\xe5\x00\x87\x00\x0e\x04\x8b\x00\x8c\x00\x7b\x00\x28\x04\x7c\x00\x88\x00\x06\x04\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x01\x04\x05\x04\x2b\x02\x87\x00\xfc\x03\x89\x00\xf0\x03\x30\x00\x8a\x00\x32\x00\x88\x00\xf5\x03\xee\x03\xec\x03\xeb\x03\xe7\x03\xd2\x03\xd1\x03\x0d\x04\x76\x02\x77\x02\x78\x02\x79\x02\xc9\x03\xc6\x03\x89\x00\xc5\x03\x30\x00\x8a\x00\x32\x00\x85\x04\x68\x04\x8b\x00\x8c\x00\x7b\x00\x83\x04\x7c\x00\x88\x04\x5d\x04\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x66\x04\x5b\x04\xe2\x02\x87\x00\x41\x04\x8b\x00\x8c\x00\x7b\x00\x54\x04\x7c\x00\x3d\x04\x3e\x04\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x36\x04\x3a\x04\xdb\x02\x87\x00\x3c\x04\x2e\x04\x9d\x03\x7b\x00\x2c\x04\x7c\x00\xa5\x04\x35\x04\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xc4\x04\xa2\x04\x74\x02\x87\x00\xbf\x03\x76\x02\x77\x02\x78\x02\x79\x02\x17\x04\xe5\x04\xdb\x04\xce\x04\x17\x05\x3a\x05\x06\x05\x7b\x00\x2d\x05\x7c\x00\x88\x00\x41\x05\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x7a\x02\x53\x05\x73\x02\x87\x00\x4f\x05\x89\x00\x4b\x05\x30\x00\x8a\x00\x32\x00\x88\x00\x7b\x02\x2e\x00\x2f\x00\x63\x05\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x7c\x02\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x72\x02\x87\x00\x00\x00\x8b\x00\x8c\x00\x7b\x00\x00\x00\x7c\x00\x88\x00\x00\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x71\x02\x87\x00\x00\x00\x89\x00\x7a\x02\x30\x00\x8a\x00\x32\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x02\x2e\x00\x2f\x00\x00\x00\x31\x00\x32\x00\x00\x00\x00\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x88\x00\x00\x00\x8b\x00\x8c\x00\xdf\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x00\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x88\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x6d\x02\x87\x00\x8b\x00\x8c\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x77\x03\x87\x00\x8b\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x01\x00\x00\x00\x00\x7b\x01\x00\x00\xa2\x03\x00\x00\xeb\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x88\x00\x00\x00\xd3\x00\xd4\x00\x7d\x01\x00\x00\xd6\x00\xd7\x00\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x66\x03\x87\x00\x00\x00\x8b\x00\x8c\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x5a\x03\x87\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\xdf\x03\x00\x00\x88\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x00\x00\xe0\x03\x00\x00\x00\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x88\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x5a\x04\x87\x00\x8b\x00\x8c\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\xdf\x03\x00\x00\x00\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x00\x00\xe0\x03\x8b\x00\x8c\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x69\x04\x00\x00\x00\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x00\x00\x6a\x04\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x88\x00\x7b\x00\x00\x00\xc2\x00\x00\x00\x00\x00\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x88\x00\x2d\x02\x8b\x00\x8c\x00\x00\x00\x00\x00\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x03\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x6b\x03\x00\x00\x88\x00\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x00\x00\x88\x00\xca\x02\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x89\x00\xf7\x04\x30\x00\x8a\x00\x32\x00\x00\x00\x8b\x00\x8c\x00\x7b\x00\x00\x00\xa0\x04\x00\x00\x00\x00\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x8b\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x7b\x00\x00\x00\x12\x05\x00\x00\x00\x00\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x32\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x39\x05\x00\x00\x00\x00\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x8b\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x00\x00\x00\x36\x05\x00\x00\x88\x00\xc3\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x62\x04\x76\x02\x77\x02\x78\x02\x79\x02\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x42\x04\x00\x00\x43\x04\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x00\x00\x44\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x89\x00\x8b\x00\x8c\x00\x8a\x00\x32\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x45\x04\x46\x04\x00\x00\xe8\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\xe9\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x8b\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x04\x00\x00\xb7\x04\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x4f\x01\x00\x00\x50\x01\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\xb8\x04\x46\x04\x7a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x00\x00\x00\x00\x7b\x02\x2e\x00\x2f\x00\x00\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x00\x00\x7c\x02\x00\x00\x00\x00\x00\x00\x89\x00\x00\x00\x30\x00\x8a\x00\x32\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x47\x04\x00\x00\x4d\x01\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\xe1\x02\x00\x00\x7f\x01\xdf\x00\x89\x00\xe0\x00\x38\x05\x48\x04\x32\x00\x23\x00\x8b\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x60\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x59\x04\x76\x02\x77\x02\x78\x02\x79\x02\x00\x00\x00\x00\xea\x00\x00\x00\x8b\x00\x8c\x00\xeb\x00\x00\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x32\x00\xd3\x00\xd4\x00\x00\x00\x00\x00\x00\x00\x47\x04\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x89\x00\x00\x00\x00\x00\x48\x04\x32\x00\x8b\x00\x8c\x00\xec\x00\xed\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x32\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x8c\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x50\x02\x00\x00\x7a\x02\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x7b\x02\x2e\x00\x2f\x00\x4b\x00\x31\x00\x32\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\xf9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x7c\x02\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x01\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\xfb\x01\xfc\x01\xfd\x01\xfe\x01\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x17\x00\x00\x00\xff\x01\x00\x02\x01\x02\x02\x02\xa6\x00\x72\x00\x00\x00\x03\x02\x00\x00\x73\x00\x00\x00\x00\x00\x04\x02\x00\x00\x00\x00\x75\x00\x76\x00\x05\x02\x77\x00\x78\x00\x06\x02\x07\x02\x08\x02\x09\x02\x00\x00\x0a\x02\x79\x00\x7a\x00\x7b\x00\x0b\x02\x0c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x02\x0e\x02\x00\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x00\x00\x0f\x02\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x11\x02\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\xdf\x00\x47\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\xe2\x00\x60\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\xf9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x01\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\xfb\x01\xfc\x01\xfd\x01\xfe\x01\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x17\x00\x00\x00\xff\x01\x00\x02\x01\x02\x02\x02\xa6\x00\x72\x00\x00\x00\x03\x02\x00\x00\x73\x00\x00\x00\x00\x00\x04\x02\x00\x00\x00\x00\x75\x00\x76\x00\x05\x02\x77\x00\x78\x00\x06\x02\x07\x02\x08\x02\x09\x02\x00\x00\x0a\x02\x79\x00\x7a\x00\x7b\x00\x0b\x02\x0c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x02\x0e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x02\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\xf9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x01\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\xfb\x01\xfc\x01\xfd\x01\xfe\x01\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\xff\x01\x00\x02\x01\x02\x02\x02\xa6\x00\x72\x00\x00\x00\x03\x02\x00\x00\x73\x00\x00\x00\x00\x00\x04\x02\x00\x00\x00\x00\x75\x00\x76\x00\x05\x02\x77\x00\x78\x00\x06\x02\x07\x02\x08\x02\x09\x02\x00\x00\x0a\x02\x79\x00\x7a\x00\x7b\x00\x0b\x02\x0c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x02\x0e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x02\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x4e\x05\x76\x02\x77\x02\x78\x02\x79\x02\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x50\x02\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\xf9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\xe2\x04\xe3\x04\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x7a\x02\x6f\x00\x00\x00\x00\x00\x00\x00\xff\x01\x00\x02\x01\x02\x00\x00\x00\x00\x72\x00\x7b\x02\x2e\x00\x2f\x00\x00\x00\x31\x00\x32\x00\xe4\x04\x00\x00\x00\x00\x75\x00\x76\x00\x05\x02\x77\x00\x78\x00\x06\x02\x07\x02\x08\x02\x09\x02\x00\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x7c\x02\x00\x00\x00\x00\x0e\x02\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\xf9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\xe2\x04\xe3\x04\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\xff\x01\x00\x02\x01\x02\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x04\x00\x00\x00\x00\x75\x00\x76\x00\x05\x02\x77\x00\x78\x00\x06\x02\x07\x02\x08\x02\x09\x02\x00\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x02\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x50\x02\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\xf9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x7a\x01\x6d\x00\x6e\x00\x7b\x01\x6f\x00\x7c\x01\x00\x00\xeb\x00\xff\x01\x00\x02\x01\x02\x00\x00\x00\x00\x72\x00\x00\x00\xd3\x00\xd4\x00\x7d\x01\x00\x00\xd6\x00\xd7\x00\xd8\x00\x00\x00\x75\x00\x76\x00\x05\x02\x77\x00\x78\x00\x06\x02\x07\x02\x08\x02\x09\x02\x00\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x02\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\xf9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x7a\x01\x6d\x00\x6e\x00\x7b\x01\x6f\x00\xe4\x01\x00\x00\xeb\x00\xff\x01\x00\x02\x01\x02\x00\x00\x00\x00\x72\x00\x00\x00\xd3\x00\xd4\x00\x7d\x01\x00\x00\xd6\x00\xd7\x00\xd8\x00\x00\x00\x75\x00\x76\x00\x05\x02\x77\x00\x78\x00\x06\x02\x07\x02\x08\x02\x09\x02\x00\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x02\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x50\x02\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\xf9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\xef\x04\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x00\x00\x03\x02\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x04\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x06\x02\x07\x02\x08\x02\x09\x02\x00\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x02\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\xf9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\xef\x04\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x00\x00\x03\x02\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x04\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x06\x02\x07\x02\x08\x02\x09\x02\x00\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x02\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x7a\x01\x6d\x00\x6e\x00\x7b\x01\x6f\x00\xa2\x03\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x00\x00\xd3\x00\xd4\x00\x7d\x01\x00\x00\xd6\x00\xd7\x00\xd8\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x06\x02\x07\x02\x08\x02\x09\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x0e\x02\xda\x00\xdb\x00\xdc\x00\xdd\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\xde\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x00\x00\xcf\x00\x94\x00\x00\x00\xdf\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\x00\x00\x00\x00\x95\x00\x00\x00\xe2\x00\xe3\x00\xe4\x00\xc0\x03\x77\x02\x78\x02\x79\x02\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x60\x05\x76\x02\x77\x02\x78\x02\x79\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x00\x00\xef\x00\xdb\x00\x00\x00\xdd\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\xf0\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x7a\x02\x00\x00\x00\x00\xf1\x00\x00\x00\x00\x00\x95\x00\xf2\x00\xf3\x00\x96\x00\xf4\x00\x7b\x02\x2e\x00\x2f\x00\x00\x00\x31\x00\x32\x00\x00\x00\x97\x00\x98\x00\x7a\x02\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x7b\x02\x2e\x00\x2f\x00\x00\x00\x31\x00\x32\x00\x00\x00\x7c\x02\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xdb\x00\x75\x00\xdd\x00\x8e\x00\x77\x00\x78\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x74\x01\x91\x00\x00\x00\x9f\x00\xa0\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x00\x00\xcf\x00\x94\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x00\x00\xef\x00\xdb\x00\x00\x00\xdd\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\xf0\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x00\x00\x00\x00\x00\x95\x00\x00\x00\xf3\x00\x96\x00\xf4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x00\x00\x00\x9a\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\xe1\x02\x00\x00\x7f\x01\xdf\x00\x00\x00\xe0\x00\xe2\x02\x67\xfe\x00\x00\x67\xfe\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x60\x01\xe4\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x8e\x00\x77\x00\x78\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x00\x00\x91\x00\xce\x00\x9f\x00\xa0\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x00\x00\xcf\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\xc9\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x44\x02\x93\x00\x9f\x00\xa0\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\xfb\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x03\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x5d\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x02\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x8e\x00\x77\x00\x78\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\xce\x04\x91\x00\x00\x00\x9f\x00\xa0\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x03\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x5d\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x05\x00\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x9f\x00\xa0\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x33\x05\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x75\x00\x91\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x9f\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x02\x00\x00\x00\x00\x6f\x00\x00\x00\x00\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xcd\x02\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xde\x00\x75\x00\xce\x02\x8e\x00\x77\x00\x78\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcf\x00\x00\x00\x90\x00\xdf\x00\x91\x00\xe0\x00\x9f\x00\xa0\x00\x00\x00\x00\x00\x92\x00\xe1\x00\x93\x00\x00\x00\x00\x00\x94\x00\xe2\x00\x60\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x03\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x75\x00\x91\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x00\x00\x00\x00\x94\x00\x00\xff\x00\x00\x00\x00\x9f\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\xf2\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x03\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\xff\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x75\x00\x91\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x00\x00\x00\x00\x94\x00\x00\xff\x00\x00\x00\x00\x9f\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x90\x00\x00\x00\x91\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x9f\x00\xa0\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x75\x00\x91\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x9f\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x04\x75\x00\x91\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x9f\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x00\x75\x00\x91\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x92\x00\x00\x00\x93\x00\x00\x00\x00\x00\x94\x00\x00\x00\x00\x00\x00\x00\x9f\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x9a\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x7f\x01\xdf\x00\x00\x00\xe0\x00\x80\x01\x00\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x60\x01\xe4\x00\x81\x01\x82\x01\x83\x01\x84\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x00\xa0\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x74\x01\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\xcf\x00\x4a\x00\x5f\x01\xdf\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x4b\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x75\x01\x60\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x69\x01\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\xcf\x00\x4a\x00\x5f\x01\xdf\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x4b\x00\x6a\x01\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x60\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\xce\x01\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\xc7\x01\x4a\x00\x5f\x01\xdf\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x60\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\xc6\x01\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\xc7\x01\x4a\x00\x5f\x01\xdf\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x60\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x64\x01\x49\x00\x00\x00\x00\x00\x4a\x00\x5f\x01\xdf\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x60\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x5f\x01\xdf\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x4b\x00\xcd\x01\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x60\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\xc7\x01\x4a\x00\x5f\x01\xdf\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x60\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x5f\x01\xdf\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x60\x01\xe4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x26\x02\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x02\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\xfa\x02\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x50\x02\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x02\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\xfa\x02\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x04\x01\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x02\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x2d\x03\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x02\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x00\x72\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x9a\x02\x36\x00\x37\x00\x38\x00\x39\x00\x9b\x02\x3b\x00\x0e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x01\x9c\x02\x9d\x02\x9e\x02\x9f\x02\xa0\x02\xa1\x02\xa2\x02\xa3\x02\xa4\x02\xa5\x02\xa6\x02\xa7\x02\xa8\x02\xa9\x02\x1e\x01\x1f\x01\x20\x01\x21\x01\x22\x01\x23\x01\x24\x01\x25\x01\xaa\x02\xab\x02\x28\x01\xac\x02\x2a\x01\x2b\x01\x2c\x01\x2d\x01\x2e\x01\x2f\x01\x30\x01\x31\x01\x32\x01\x33\x01\x34\x01\x35\x01\x36\x01\x37\x01\x38\x01\x39\x01\x3a\x01\x3b\x01\xad\x02\x76\x00\x00\x00\x77\x00\x78\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x54\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x01\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x50\x00\x00\x00\x00\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x00\x00\x57\x00\x58\x00\x59\x00\x00\x00\x5a\x00\x00\x00\x5b\x00\x5c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x37\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\xdb\x00\x00\x00\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x7e\x02\x99\x03\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x37\x00\x7f\x02\x00\x00\x3a\x00\x3b\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x03\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x03\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x37\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x00\x00\xb6\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x03\x00\x00\x00\x00\x75\x00\x76\x00\xb8\x03\x77\x00\x78\x00\x7e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x37\x00\x7f\x02\x00\x00\x3a\x00\x3b\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x03\x00\x00\x00\x00\x00\x00\xb4\x03\x00\x00\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x79\x01\x21\x00\x22\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x23\x00\x35\x00\x00\x00\x37\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x00\x00\xb6\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x03\x00\x00\x00\x00\x75\x00\x76\x00\xb8\x03\x77\x00\x78\x00\x7e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x7f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\xda\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\xb7\x02\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe2\x00\x60\x01\xe4\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x6d\x00\x6e\x00\x35\x00\x6f\x00\x37\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x44\x01\x77\x00\x78\x00\x00\x00\x00\x00\x35\x00\x00\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\xb9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x6d\x00\x6e\x00\x35\x00\x6f\x00\x37\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\xb4\x03\x77\x00\x78\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb5\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x35\x00\x6f\x00\x37\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\xb7\x01\x77\x00\x78\x00\x6d\x00\x6e\x00\x35\x00\x6f\x00\x37\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x00\x00\x4a\x00\x00\x00\x00\x00\xb9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x05\x00\x00\x00\x00\x75\x00\x76\x00\x2a\x05\x77\x00\x78\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x35\x00\x77\x00\x78\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x74\x03\x77\x00\x78\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x75\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\xfd\x00\x00\x99\x01\x0f\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x01\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x01\x92\x04\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x93\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x35\x00\x00\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xb7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\xd9\x04\x00\x00\x6d\x00\x6e\x00\x3a\x00\x6f\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x01\x5a\x05\x00\x00\x75\x00\x76\x00\x35\x00\x77\x00\x78\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x01\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x6d\x00\x6e\x00\x35\x00\x6f\x00\x37\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\xb7\x01\x77\x00\x78\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x37\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x05\x00\x00\x00\x00\x75\x00\x76\x00\x2a\x05\x77\x00\x78\x00\xb7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x01\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x93\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x35\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x3a\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xb1\x02\x00\x00\x00\x00\x75\x00\x76\x00\x35\x00\x77\x00\x78\x00\x6d\x00\x6e\x00\x3a\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x98\x01\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x35\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\xb7\x02\x77\x00\x78\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x3f\x01\x00\x00\x40\x01\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x41\x01\x00\x00\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x35\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\xb7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x76\x04\x77\x00\x78\x00\x6d\x00\x6e\x00\x35\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x4e\x04\x77\x00\x78\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x35\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x76\x04\x77\x00\x78\x00\x6d\x00\x6e\x00\x35\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x4e\x04\x77\x00\x78\x00\x6d\x00\x6e\x00\x35\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x35\x00\x77\x00\x78\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x4a\x02\x00\x00\x00\x00\x75\x00\x76\x00\x35\x00\x77\x00\x78\x00\x6d\x00\x6e\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x4b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x75\x00\x76\x00\x35\x00\x77\x00\x78\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x00\x00\x00\x00\x00\x00\xbc\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x35\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x4a\x02\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x35\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xa2\x04\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x59\x04\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x35\x00\x6f\x00\x00\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\xc5\xfe\x00\x00\x6f\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x35\x00\x00\x00\x6f\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x6f\x00\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x6f\x00\xc5\xfe\xc5\xfe\xc5\xfe\xc5\xfe\x00\x00\xc5\xfe\xc5\xfe\xc5\xfe\xc5\xfe\xc5\xfe\xc5\xfe\xc5\xfe\xc5\xfe\xc5\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\xc5\xfe\x5d\x00\x9b\x00\x9c\x00\x9d\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\xfe\x0c\x01\x00\x00\xc5\xfe\xc5\xfe\x00\x00\x0d\x01\x6f\x00\x0e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x01\x10\x01\x11\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01\x20\x01\x21\x01\x22\x01\x23\x01\x24\x01\x25\x01\x26\x01\x27\x01\x28\x01\x29\x01\x2a\x01\x2b\x01\x2c\x01\x2d\x01\x2e\x01\x2f\x01\x30\x01\x31\x01\x32\x01\x33\x01\x34\x01\x35\x01\x36\x01\x37\x01\x38\x01\x39\x01\x3a\x01\x3b\x01\x3c\x01\xe9\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x02\xf5\x02\xf6\x02\xf7\x02\x00\x00\xf8\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xe9\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\x02\xf5\x02\xf6\x02\xf7\x02\x00\x00\xf8\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xe9\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x04\xf6\x02\xf7\x02\x00\x00\xf8\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xe9\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x04\xf7\x02\x00\x00\xf8\x02\x00\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\xec\x02\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x23\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x33\x00\x26\x02\x00\x00\x24\x02\x51\x01\x52\x01\xfc\x00\x21\x00\x22\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x23\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x23\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x33\x00\x23\x02\x00\x00\x24\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xe9\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x02\xeb\x02\x00\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\xec\x02\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x23\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x33\x00\x85\x02\x00\x00\x24\x02\x00\x00\xfb\x00\xfc\x00\x21\x00\x22\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x23\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x23\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x33\x00\x93\x03\x00\x00\x24\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xe9\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x90\x03\xeb\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xe9\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x04\xeb\x02\x00\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\xec\x02\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x23\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xe9\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x19\x04\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\x02\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\xa6\x00\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x33\x00\x02\x01\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x49\x01\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x48\x01\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\xc1\x00\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xb9\x01\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x2b\x03\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x1a\x04\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x04\x04\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xbe\x03\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x78\x04\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x34\x04\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x32\x04\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x31\x04\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x30\x04\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xb3\x04\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\xfa\x04\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xca\x04\xa7\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x6b\x01\x00\x00\x00\x00\x6c\x01\x66\x01\x00\x00\x6d\x01\x00\x00\x6e\x01\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x58\x01\x00\x00\x59\x01\x00\x00\x00\x00\x5a\x01\x6f\x01\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xd3\x00\xd4\x00\x70\x01\x5b\x01\xd6\x00\x71\x01\x72\x01\x33\x00\x54\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x64\x01\x00\x00\x00\x00\x65\x01\x66\x01\x00\x00\x67\x01\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x01\x00\x00\x00\x00\x23\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x61\x01\x62\x01\x2b\x00\x00\x00\x00\x00\x58\x01\x00\x00\x59\x01\x00\x00\x00\x00\x5a\x01\xeb\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xd3\x00\xd4\x00\x00\x00\x5b\x01\x00\x00\x5c\x01\x5d\x01\x33\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x58\x01\x00\x00\x59\x01\x00\x00\x00\x00\x5a\x01\xeb\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xd3\x00\xd4\x00\x00\x00\x5b\x01\x00\x00\x5c\x01\x5d\x01\x33\x00\x54\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x01\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x01\x54\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x57\x01\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\xc3\x01\x00\x00\x00\x00\x00\x00\xc4\x01\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x58\x01\x00\x00\x59\x01\x00\x00\x00\x00\x5a\x01\xeb\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xd3\x00\xd4\x00\x00\x00\x5b\x01\x00\x00\x5c\x01\x5d\x01\x33\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x58\x01\x00\x00\x59\x01\x00\x00\x00\x00\x5a\x01\xeb\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xd3\x00\xd4\x00\x00\x00\x5b\x01\x00\x00\x5c\x01\x5d\x01\x33\x00\x54\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x08\x03\x00\x00\x00\x00\x00\x00\xc4\x01\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcb\x01\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x58\x01\x00\x00\x59\x01\x00\x00\x00\x00\x5a\x01\xeb\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xd3\x00\xd4\x00\x00\x00\x5b\x01\x00\x00\x5c\x01\x5d\x01\x33\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x58\x01\x00\x00\x59\x01\x00\x00\x00\x00\x5a\x01\xeb\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xd3\x00\xd4\x00\x00\x00\x5b\x01\x00\x00\x5c\x01\x5d\x01\x33\x00\x54\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x03\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x02\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x58\x01\x00\x00\x59\x01\x00\x00\x00\x00\x5a\x01\xeb\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xd3\x00\xd4\x00\x00\x00\x5b\x01\x00\x00\x5c\x01\x5d\x01\x33\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x58\x01\x00\x00\x59\x01\x00\x00\x00\x00\x5a\x01\xeb\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xd3\x00\xd4\x00\x00\x00\x5b\x01\x00\x00\x5c\x01\x5d\x01\x33\x00\xfb\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x02\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x58\x01\x00\x00\x59\x01\x00\x00\x00\x00\x5a\x01\xeb\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xd3\x00\xd4\x00\x00\x00\x5b\x01\x00\x00\x5c\x01\x5d\x01\x33\x00\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x30\x03\x31\x03\x00\x00\x00\x00\x00\x00\x32\x03\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x33\x04\x00\x00\x00\x00\x00\x00\x32\x03\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x4b\x01\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x05\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x03\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x03\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x92\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x02\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\x03\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x03\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x05\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\xad\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\xac\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\xaa\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\xfa\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\xef\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\xee\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x89\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x83\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x82\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x27\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x04\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x25\x04\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x04\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x47\x05\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x01\x1a\x00\x47\x01\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\xd5\x01\x1a\x00\x47\x01\x1c\x00\x00\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x04\x1a\x00\x47\x01\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\xb1\x01\x00\x00\x2b\x00\xb2\x01\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x23\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\xb2\x01\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\xdd\x01\xfc\x00\x21\x00\x22\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x23\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x02\x21\x00\x22\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x23\x00\x00\x00\x00\x00\x96\x02\x09\x01\x0a\x01\x33\x00\x97\x02\x98\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x96\x02\x09\x01\x0a\x01\x00\x00\x97\x02\xab\x03\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x01\x21\x00\x22\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x23\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x01\x21\x00\x22\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x02\x21\x00\x22\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x23\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x01\x21\x00\x22\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x01\x21\x00\x22\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x23\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\x01\x21\x00\x22\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x03\x21\x00\x22\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x23\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x03\x21\x00\x22\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x02\x21\x00\x22\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x23\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x03\x21\x00\x22\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x03\x21\x00\x22\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x23\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x33\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x26\x00\x00\x00\x27\x00\x28\x00\x00\x00\x00\x00\x29\x00\x2a\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#--happyReduceArr = Happy_Data_Array.array (11, 787) [- (11 , happyReduce_11),- (12 , happyReduce_12),- (13 , happyReduce_13),- (14 , happyReduce_14),- (15 , happyReduce_15),- (16 , happyReduce_16),- (17 , happyReduce_17),- (18 , happyReduce_18),- (19 , happyReduce_19),- (20 , happyReduce_20),- (21 , happyReduce_21),- (22 , happyReduce_22),- (23 , happyReduce_23),- (24 , happyReduce_24),- (25 , happyReduce_25),- (26 , happyReduce_26),- (27 , happyReduce_27),- (28 , happyReduce_28),- (29 , happyReduce_29),- (30 , happyReduce_30),- (31 , happyReduce_31),- (32 , happyReduce_32),- (33 , happyReduce_33),- (34 , happyReduce_34),- (35 , happyReduce_35),- (36 , happyReduce_36),- (37 , happyReduce_37),- (38 , happyReduce_38),- (39 , happyReduce_39),- (40 , happyReduce_40),- (41 , happyReduce_41),- (42 , happyReduce_42),- (43 , happyReduce_43),- (44 , happyReduce_44),- (45 , happyReduce_45),- (46 , happyReduce_46),- (47 , happyReduce_47),- (48 , happyReduce_48),- (49 , happyReduce_49),- (50 , happyReduce_50),- (51 , happyReduce_51),- (52 , happyReduce_52),- (53 , happyReduce_53),- (54 , happyReduce_54),- (55 , happyReduce_55),- (56 , happyReduce_56),- (57 , happyReduce_57),- (58 , happyReduce_58),- (59 , happyReduce_59),- (60 , happyReduce_60),- (61 , happyReduce_61),- (62 , happyReduce_62),- (63 , happyReduce_63),- (64 , happyReduce_64),- (65 , happyReduce_65),- (66 , happyReduce_66),- (67 , happyReduce_67),- (68 , happyReduce_68),- (69 , happyReduce_69),- (70 , happyReduce_70),- (71 , happyReduce_71),- (72 , happyReduce_72),- (73 , happyReduce_73),- (74 , happyReduce_74),- (75 , happyReduce_75),- (76 , happyReduce_76),- (77 , happyReduce_77),- (78 , happyReduce_78),- (79 , happyReduce_79),- (80 , happyReduce_80),- (81 , happyReduce_81),- (82 , happyReduce_82),- (83 , happyReduce_83),- (84 , happyReduce_84),- (85 , happyReduce_85),- (86 , happyReduce_86),- (87 , happyReduce_87),- (88 , happyReduce_88),- (89 , happyReduce_89),- (90 , happyReduce_90),- (91 , happyReduce_91),- (92 , happyReduce_92),- (93 , happyReduce_93),- (94 , happyReduce_94),- (95 , happyReduce_95),- (96 , happyReduce_96),- (97 , happyReduce_97),- (98 , happyReduce_98),- (99 , happyReduce_99),- (100 , happyReduce_100),- (101 , happyReduce_101),- (102 , happyReduce_102),- (103 , happyReduce_103),- (104 , happyReduce_104),- (105 , happyReduce_105),- (106 , happyReduce_106),- (107 , happyReduce_107),- (108 , happyReduce_108),- (109 , happyReduce_109),- (110 , happyReduce_110),- (111 , happyReduce_111),- (112 , happyReduce_112),- (113 , happyReduce_113),- (114 , happyReduce_114),- (115 , happyReduce_115),- (116 , happyReduce_116),- (117 , happyReduce_117),- (118 , happyReduce_118),- (119 , happyReduce_119),- (120 , happyReduce_120),- (121 , happyReduce_121),- (122 , happyReduce_122),- (123 , happyReduce_123),- (124 , happyReduce_124),- (125 , happyReduce_125),- (126 , happyReduce_126),- (127 , happyReduce_127),- (128 , happyReduce_128),- (129 , happyReduce_129),- (130 , happyReduce_130),- (131 , happyReduce_131),- (132 , happyReduce_132),- (133 , happyReduce_133),- (134 , happyReduce_134),- (135 , happyReduce_135),- (136 , happyReduce_136),- (137 , happyReduce_137),- (138 , happyReduce_138),- (139 , happyReduce_139),- (140 , happyReduce_140),- (141 , happyReduce_141),- (142 , happyReduce_142),- (143 , happyReduce_143),- (144 , happyReduce_144),- (145 , happyReduce_145),- (146 , happyReduce_146),- (147 , happyReduce_147),- (148 , happyReduce_148),- (149 , happyReduce_149),- (150 , happyReduce_150),- (151 , happyReduce_151),- (152 , happyReduce_152),- (153 , happyReduce_153),- (154 , happyReduce_154),- (155 , happyReduce_155),- (156 , happyReduce_156),- (157 , happyReduce_157),- (158 , happyReduce_158),- (159 , happyReduce_159),- (160 , happyReduce_160),- (161 , happyReduce_161),- (162 , happyReduce_162),- (163 , happyReduce_163),- (164 , happyReduce_164),- (165 , happyReduce_165),- (166 , happyReduce_166),- (167 , happyReduce_167),- (168 , happyReduce_168),- (169 , happyReduce_169),- (170 , happyReduce_170),- (171 , happyReduce_171),- (172 , happyReduce_172),- (173 , happyReduce_173),- (174 , happyReduce_174),- (175 , happyReduce_175),- (176 , happyReduce_176),- (177 , happyReduce_177),- (178 , happyReduce_178),- (179 , happyReduce_179),- (180 , happyReduce_180),- (181 , happyReduce_181),- (182 , happyReduce_182),- (183 , happyReduce_183),- (184 , happyReduce_184),- (185 , happyReduce_185),- (186 , happyReduce_186),- (187 , happyReduce_187),- (188 , happyReduce_188),- (189 , happyReduce_189),- (190 , happyReduce_190),- (191 , happyReduce_191),- (192 , happyReduce_192),- (193 , happyReduce_193),- (194 , happyReduce_194),- (195 , happyReduce_195),- (196 , happyReduce_196),- (197 , happyReduce_197),- (198 , happyReduce_198),- (199 , happyReduce_199),- (200 , happyReduce_200),- (201 , happyReduce_201),- (202 , happyReduce_202),- (203 , happyReduce_203),- (204 , happyReduce_204),- (205 , happyReduce_205),- (206 , happyReduce_206),- (207 , happyReduce_207),- (208 , happyReduce_208),- (209 , happyReduce_209),- (210 , happyReduce_210),- (211 , happyReduce_211),- (212 , happyReduce_212),- (213 , happyReduce_213),- (214 , happyReduce_214),- (215 , happyReduce_215),- (216 , happyReduce_216),- (217 , happyReduce_217),- (218 , happyReduce_218),- (219 , happyReduce_219),- (220 , happyReduce_220),- (221 , happyReduce_221),- (222 , happyReduce_222),- (223 , happyReduce_223),- (224 , happyReduce_224),- (225 , happyReduce_225),- (226 , happyReduce_226),- (227 , happyReduce_227),- (228 , happyReduce_228),- (229 , happyReduce_229),- (230 , happyReduce_230),- (231 , happyReduce_231),- (232 , happyReduce_232),- (233 , happyReduce_233),- (234 , happyReduce_234),- (235 , happyReduce_235),- (236 , happyReduce_236),- (237 , happyReduce_237),- (238 , happyReduce_238),- (239 , happyReduce_239),- (240 , happyReduce_240),- (241 , happyReduce_241),- (242 , happyReduce_242),- (243 , happyReduce_243),- (244 , happyReduce_244),- (245 , happyReduce_245),- (246 , happyReduce_246),- (247 , happyReduce_247),- (248 , happyReduce_248),- (249 , happyReduce_249),- (250 , happyReduce_250),- (251 , happyReduce_251),- (252 , happyReduce_252),- (253 , happyReduce_253),- (254 , happyReduce_254),- (255 , happyReduce_255),- (256 , happyReduce_256),- (257 , happyReduce_257),- (258 , happyReduce_258),- (259 , happyReduce_259),- (260 , happyReduce_260),- (261 , happyReduce_261),- (262 , happyReduce_262),- (263 , happyReduce_263),- (264 , happyReduce_264),- (265 , happyReduce_265),- (266 , happyReduce_266),- (267 , happyReduce_267),- (268 , happyReduce_268),- (269 , happyReduce_269),- (270 , happyReduce_270),- (271 , happyReduce_271),- (272 , happyReduce_272),- (273 , happyReduce_273),- (274 , happyReduce_274),- (275 , happyReduce_275),- (276 , happyReduce_276),- (277 , happyReduce_277),- (278 , happyReduce_278),- (279 , happyReduce_279),- (280 , happyReduce_280),- (281 , happyReduce_281),- (282 , happyReduce_282),- (283 , happyReduce_283),- (284 , happyReduce_284),- (285 , happyReduce_285),- (286 , happyReduce_286),- (287 , happyReduce_287),- (288 , happyReduce_288),- (289 , happyReduce_289),- (290 , happyReduce_290),- (291 , happyReduce_291),- (292 , happyReduce_292),- (293 , happyReduce_293),- (294 , happyReduce_294),- (295 , happyReduce_295),- (296 , happyReduce_296),- (297 , happyReduce_297),- (298 , happyReduce_298),- (299 , happyReduce_299),- (300 , happyReduce_300),- (301 , happyReduce_301),- (302 , happyReduce_302),- (303 , happyReduce_303),- (304 , happyReduce_304),- (305 , happyReduce_305),- (306 , happyReduce_306),- (307 , happyReduce_307),- (308 , happyReduce_308),- (309 , happyReduce_309),- (310 , happyReduce_310),- (311 , happyReduce_311),- (312 , happyReduce_312),- (313 , happyReduce_313),- (314 , happyReduce_314),- (315 , happyReduce_315),- (316 , happyReduce_316),- (317 , happyReduce_317),- (318 , happyReduce_318),- (319 , happyReduce_319),- (320 , happyReduce_320),- (321 , happyReduce_321),- (322 , happyReduce_322),- (323 , happyReduce_323),- (324 , happyReduce_324),- (325 , happyReduce_325),- (326 , happyReduce_326),- (327 , happyReduce_327),- (328 , happyReduce_328),- (329 , happyReduce_329),- (330 , happyReduce_330),- (331 , happyReduce_331),- (332 , happyReduce_332),- (333 , happyReduce_333),- (334 , happyReduce_334),- (335 , happyReduce_335),- (336 , happyReduce_336),- (337 , happyReduce_337),- (338 , happyReduce_338),- (339 , happyReduce_339),- (340 , happyReduce_340),- (341 , happyReduce_341),- (342 , happyReduce_342),- (343 , happyReduce_343),- (344 , happyReduce_344),- (345 , happyReduce_345),- (346 , happyReduce_346),- (347 , happyReduce_347),- (348 , happyReduce_348),- (349 , happyReduce_349),- (350 , happyReduce_350),- (351 , happyReduce_351),- (352 , happyReduce_352),- (353 , happyReduce_353),- (354 , happyReduce_354),- (355 , happyReduce_355),- (356 , happyReduce_356),- (357 , happyReduce_357),- (358 , happyReduce_358),- (359 , happyReduce_359),- (360 , happyReduce_360),- (361 , happyReduce_361),- (362 , happyReduce_362),- (363 , happyReduce_363),- (364 , happyReduce_364),- (365 , happyReduce_365),- (366 , happyReduce_366),- (367 , happyReduce_367),- (368 , happyReduce_368),- (369 , happyReduce_369),- (370 , happyReduce_370),- (371 , happyReduce_371),- (372 , happyReduce_372),- (373 , happyReduce_373),- (374 , happyReduce_374),- (375 , happyReduce_375),- (376 , happyReduce_376),- (377 , happyReduce_377),- (378 , happyReduce_378),- (379 , happyReduce_379),- (380 , happyReduce_380),- (381 , happyReduce_381),- (382 , happyReduce_382),- (383 , happyReduce_383),- (384 , happyReduce_384),- (385 , happyReduce_385),- (386 , happyReduce_386),- (387 , happyReduce_387),- (388 , happyReduce_388),- (389 , happyReduce_389),- (390 , happyReduce_390),- (391 , happyReduce_391),- (392 , happyReduce_392),- (393 , happyReduce_393),- (394 , happyReduce_394),- (395 , happyReduce_395),- (396 , happyReduce_396),- (397 , happyReduce_397),- (398 , happyReduce_398),- (399 , happyReduce_399),- (400 , happyReduce_400),- (401 , happyReduce_401),- (402 , happyReduce_402),- (403 , happyReduce_403),- (404 , happyReduce_404),- (405 , happyReduce_405),- (406 , happyReduce_406),- (407 , happyReduce_407),- (408 , happyReduce_408),- (409 , happyReduce_409),- (410 , happyReduce_410),- (411 , happyReduce_411),- (412 , happyReduce_412),- (413 , happyReduce_413),- (414 , happyReduce_414),- (415 , happyReduce_415),- (416 , happyReduce_416),- (417 , happyReduce_417),- (418 , happyReduce_418),- (419 , happyReduce_419),- (420 , happyReduce_420),- (421 , happyReduce_421),- (422 , happyReduce_422),- (423 , happyReduce_423),- (424 , happyReduce_424),- (425 , happyReduce_425),- (426 , happyReduce_426),- (427 , happyReduce_427),- (428 , happyReduce_428),- (429 , happyReduce_429),- (430 , happyReduce_430),- (431 , happyReduce_431),- (432 , happyReduce_432),- (433 , happyReduce_433),- (434 , happyReduce_434),- (435 , happyReduce_435),- (436 , happyReduce_436),- (437 , happyReduce_437),- (438 , happyReduce_438),- (439 , happyReduce_439),- (440 , happyReduce_440),- (441 , happyReduce_441),- (442 , happyReduce_442),- (443 , happyReduce_443),- (444 , happyReduce_444),- (445 , happyReduce_445),- (446 , happyReduce_446),- (447 , happyReduce_447),- (448 , happyReduce_448),- (449 , happyReduce_449),- (450 , happyReduce_450),- (451 , happyReduce_451),- (452 , happyReduce_452),- (453 , happyReduce_453),- (454 , happyReduce_454),- (455 , happyReduce_455),- (456 , happyReduce_456),- (457 , happyReduce_457),- (458 , happyReduce_458),- (459 , happyReduce_459),- (460 , happyReduce_460),- (461 , happyReduce_461),- (462 , happyReduce_462),- (463 , happyReduce_463),- (464 , happyReduce_464),- (465 , happyReduce_465),- (466 , happyReduce_466),- (467 , happyReduce_467),- (468 , happyReduce_468),- (469 , happyReduce_469),- (470 , happyReduce_470),- (471 , happyReduce_471),- (472 , happyReduce_472),- (473 , happyReduce_473),- (474 , happyReduce_474),- (475 , happyReduce_475),- (476 , happyReduce_476),- (477 , happyReduce_477),- (478 , happyReduce_478),- (479 , happyReduce_479),- (480 , happyReduce_480),- (481 , happyReduce_481),- (482 , happyReduce_482),- (483 , happyReduce_483),- (484 , happyReduce_484),- (485 , happyReduce_485),- (486 , happyReduce_486),- (487 , happyReduce_487),- (488 , happyReduce_488),- (489 , happyReduce_489),- (490 , happyReduce_490),- (491 , happyReduce_491),- (492 , happyReduce_492),- (493 , happyReduce_493),- (494 , happyReduce_494),- (495 , happyReduce_495),- (496 , happyReduce_496),- (497 , happyReduce_497),- (498 , happyReduce_498),- (499 , happyReduce_499),- (500 , happyReduce_500),- (501 , happyReduce_501),- (502 , happyReduce_502),- (503 , happyReduce_503),- (504 , happyReduce_504),- (505 , happyReduce_505),- (506 , happyReduce_506),- (507 , happyReduce_507),- (508 , happyReduce_508),- (509 , happyReduce_509),- (510 , happyReduce_510),- (511 , happyReduce_511),- (512 , happyReduce_512),- (513 , happyReduce_513),- (514 , happyReduce_514),- (515 , happyReduce_515),- (516 , happyReduce_516),- (517 , happyReduce_517),- (518 , happyReduce_518),- (519 , happyReduce_519),- (520 , happyReduce_520),- (521 , happyReduce_521),- (522 , happyReduce_522),- (523 , happyReduce_523),- (524 , happyReduce_524),- (525 , happyReduce_525),- (526 , happyReduce_526),- (527 , happyReduce_527),- (528 , happyReduce_528),- (529 , happyReduce_529),- (530 , happyReduce_530),- (531 , happyReduce_531),- (532 , happyReduce_532),- (533 , happyReduce_533),- (534 , happyReduce_534),- (535 , happyReduce_535),- (536 , happyReduce_536),- (537 , happyReduce_537),- (538 , happyReduce_538),- (539 , happyReduce_539),- (540 , happyReduce_540),- (541 , happyReduce_541),- (542 , happyReduce_542),- (543 , happyReduce_543),- (544 , happyReduce_544),- (545 , happyReduce_545),- (546 , happyReduce_546),- (547 , happyReduce_547),- (548 , happyReduce_548),- (549 , happyReduce_549),- (550 , happyReduce_550),- (551 , happyReduce_551),- (552 , happyReduce_552),- (553 , happyReduce_553),- (554 , happyReduce_554),- (555 , happyReduce_555),- (556 , happyReduce_556),- (557 , happyReduce_557),- (558 , happyReduce_558),- (559 , happyReduce_559),- (560 , happyReduce_560),- (561 , happyReduce_561),- (562 , happyReduce_562),- (563 , happyReduce_563),- (564 , happyReduce_564),- (565 , happyReduce_565),- (566 , happyReduce_566),- (567 , happyReduce_567),- (568 , happyReduce_568),- (569 , happyReduce_569),- (570 , happyReduce_570),- (571 , happyReduce_571),- (572 , happyReduce_572),- (573 , happyReduce_573),- (574 , happyReduce_574),- (575 , happyReduce_575),- (576 , happyReduce_576),- (577 , happyReduce_577),- (578 , happyReduce_578),- (579 , happyReduce_579),- (580 , happyReduce_580),- (581 , happyReduce_581),- (582 , happyReduce_582),- (583 , happyReduce_583),- (584 , happyReduce_584),- (585 , happyReduce_585),- (586 , happyReduce_586),- (587 , happyReduce_587),- (588 , happyReduce_588),- (589 , happyReduce_589),- (590 , happyReduce_590),- (591 , happyReduce_591),- (592 , happyReduce_592),- (593 , happyReduce_593),- (594 , happyReduce_594),- (595 , happyReduce_595),- (596 , happyReduce_596),- (597 , happyReduce_597),- (598 , happyReduce_598),- (599 , happyReduce_599),- (600 , happyReduce_600),- (601 , happyReduce_601),- (602 , happyReduce_602),- (603 , happyReduce_603),- (604 , happyReduce_604),- (605 , happyReduce_605),- (606 , happyReduce_606),- (607 , happyReduce_607),- (608 , happyReduce_608),- (609 , happyReduce_609),- (610 , happyReduce_610),- (611 , happyReduce_611),- (612 , happyReduce_612),- (613 , happyReduce_613),- (614 , happyReduce_614),- (615 , happyReduce_615),- (616 , happyReduce_616),- (617 , happyReduce_617),- (618 , happyReduce_618),- (619 , happyReduce_619),- (620 , happyReduce_620),- (621 , happyReduce_621),- (622 , happyReduce_622),- (623 , happyReduce_623),- (624 , happyReduce_624),- (625 , happyReduce_625),- (626 , happyReduce_626),- (627 , happyReduce_627),- (628 , happyReduce_628),- (629 , happyReduce_629),- (630 , happyReduce_630),- (631 , happyReduce_631),- (632 , happyReduce_632),- (633 , happyReduce_633),- (634 , happyReduce_634),- (635 , happyReduce_635),- (636 , happyReduce_636),- (637 , happyReduce_637),- (638 , happyReduce_638),- (639 , happyReduce_639),- (640 , happyReduce_640),- (641 , happyReduce_641),- (642 , happyReduce_642),- (643 , happyReduce_643),- (644 , happyReduce_644),- (645 , happyReduce_645),- (646 , happyReduce_646),- (647 , happyReduce_647),- (648 , happyReduce_648),- (649 , happyReduce_649),- (650 , happyReduce_650),- (651 , happyReduce_651),- (652 , happyReduce_652),- (653 , happyReduce_653),- (654 , happyReduce_654),- (655 , happyReduce_655),- (656 , happyReduce_656),- (657 , happyReduce_657),- (658 , happyReduce_658),- (659 , happyReduce_659),- (660 , happyReduce_660),- (661 , happyReduce_661),- (662 , happyReduce_662),- (663 , happyReduce_663),- (664 , happyReduce_664),- (665 , happyReduce_665),- (666 , happyReduce_666),- (667 , happyReduce_667),- (668 , happyReduce_668),- (669 , happyReduce_669),- (670 , happyReduce_670),- (671 , happyReduce_671),- (672 , happyReduce_672),- (673 , happyReduce_673),- (674 , happyReduce_674),- (675 , happyReduce_675),- (676 , happyReduce_676),- (677 , happyReduce_677),- (678 , happyReduce_678),- (679 , happyReduce_679),- (680 , happyReduce_680),- (681 , happyReduce_681),- (682 , happyReduce_682),- (683 , happyReduce_683),- (684 , happyReduce_684),- (685 , happyReduce_685),- (686 , happyReduce_686),- (687 , happyReduce_687),- (688 , happyReduce_688),- (689 , happyReduce_689),- (690 , happyReduce_690),- (691 , happyReduce_691),- (692 , happyReduce_692),- (693 , happyReduce_693),- (694 , happyReduce_694),- (695 , happyReduce_695),- (696 , happyReduce_696),- (697 , happyReduce_697),- (698 , happyReduce_698),- (699 , happyReduce_699),- (700 , happyReduce_700),- (701 , happyReduce_701),- (702 , happyReduce_702),- (703 , happyReduce_703),- (704 , happyReduce_704),- (705 , happyReduce_705),- (706 , happyReduce_706),- (707 , happyReduce_707),- (708 , happyReduce_708),- (709 , happyReduce_709),- (710 , happyReduce_710),- (711 , happyReduce_711),- (712 , happyReduce_712),- (713 , happyReduce_713),- (714 , happyReduce_714),- (715 , happyReduce_715),- (716 , happyReduce_716),- (717 , happyReduce_717),- (718 , happyReduce_718),- (719 , happyReduce_719),- (720 , happyReduce_720),- (721 , happyReduce_721),- (722 , happyReduce_722),- (723 , happyReduce_723),- (724 , happyReduce_724),- (725 , happyReduce_725),- (726 , happyReduce_726),- (727 , happyReduce_727),- (728 , happyReduce_728),- (729 , happyReduce_729),- (730 , happyReduce_730),- (731 , happyReduce_731),- (732 , happyReduce_732),- (733 , happyReduce_733),- (734 , happyReduce_734),- (735 , happyReduce_735),- (736 , happyReduce_736),- (737 , happyReduce_737),- (738 , happyReduce_738),- (739 , happyReduce_739),- (740 , happyReduce_740),- (741 , happyReduce_741),- (742 , happyReduce_742),- (743 , happyReduce_743),- (744 , happyReduce_744),- (745 , happyReduce_745),- (746 , happyReduce_746),- (747 , happyReduce_747),- (748 , happyReduce_748),- (749 , happyReduce_749),- (750 , happyReduce_750),- (751 , happyReduce_751),- (752 , happyReduce_752),- (753 , happyReduce_753),- (754 , happyReduce_754),- (755 , happyReduce_755),- (756 , happyReduce_756),- (757 , happyReduce_757),- (758 , happyReduce_758),- (759 , happyReduce_759),- (760 , happyReduce_760),- (761 , happyReduce_761),- (762 , happyReduce_762),- (763 , happyReduce_763),- (764 , happyReduce_764),- (765 , happyReduce_765),- (766 , happyReduce_766),- (767 , happyReduce_767),- (768 , happyReduce_768),- (769 , happyReduce_769),- (770 , happyReduce_770),- (771 , happyReduce_771),- (772 , happyReduce_772),- (773 , happyReduce_773),- (774 , happyReduce_774),- (775 , happyReduce_775),- (776 , happyReduce_776),- (777 , happyReduce_777),- (778 , happyReduce_778),- (779 , happyReduce_779),- (780 , happyReduce_780),- (781 , happyReduce_781),- (782 , happyReduce_782),- (783 , happyReduce_783),- (784 , happyReduce_784),- (785 , happyReduce_785),- (786 , happyReduce_786),- (787 , happyReduce_787)- ]--happy_n_terms = 157 :: Int-happy_n_nonterms = 280 :: Int--happyReduce_11 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_11 = happySpecReduce_2 0# happyReduction_11-happyReduction_11 happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_2 of { happy_var_2 -> - happyIn14- (let (os,ss,l) = happy_var_1 in map (\x -> x os ss l) happy_var_2- )}}--happyReduce_12 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_12 = happySpecReduce_2 1# happyReduction_12-happyReduction_12 happy_x_2- happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - case happyOut15 happy_x_2 of { happy_var_2 -> - happyIn15- (happy_var_1 : happy_var_2- )}}--happyReduce_13 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_13 = happySpecReduce_1 1# happyReduction_13-happyReduction_13 happy_x_1- = case happyOut22 happy_x_1 of { happy_var_1 -> - happyIn15- ([happy_var_1]- )}--happyReduce_14 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_14 = happyMonadReduce 2# 2# happyReduction_14-happyReduction_14 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut17 happy_x_2 of { happy_var_2 -> - ( checkPageModule happy_var_2 happy_var_1)}})- ) (\r -> happyReturn (happyIn16 r))--happyReduce_15 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_15 = happyMonadReduce 5# 2# happyReduction_15-happyReduction_15 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 XCodeTagOpen) -> - case happyOut22 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 XCodeTagClose) -> - case happyOut17 happy_x_5 of { happy_var_5 -> - ( let (os,ss,l) = happy_var_1 in checkHybridModule happy_var_5 (happy_var_3 os ss l) happy_var_2 happy_var_4)}}}}})- ) (\r -> happyReturn (happyIn16 r))--happyReduce_16 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_16 = happySpecReduce_2 2# happyReduction_16-happyReduction_16 happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut22 happy_x_2 of { happy_var_2 -> - happyIn16- (let (os,ss,l) = happy_var_1 in happy_var_2 os ss l- )}}--happyReduce_17 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_17 = happyMonadReduce 9# 3# happyReduction_17-happyReduction_17 (happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> - case happyOut202 happy_x_2 of { happy_var_2 -> - case happyOut205 happy_x_3 of { happy_var_3 -> - case happyOut207 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XStdTagClose) -> - case happyOut200 happy_x_6 of { happy_var_6 -> - case happyOutTok happy_x_7 of { (Loc happy_var_7 XCloseTagOpen) -> - case happyOut202 happy_x_8 of { happy_var_8 -> - case happyOutTok happy_x_9 of { (Loc happy_var_9 XStdTagClose) -> - ( do { n <- checkEqNames happy_var_2 happy_var_8;- let { cn = reverse happy_var_6;- as = reverse happy_var_3; };- return $ XTag (happy_var_1 <^^> happy_var_9 <** [happy_var_1,happy_var_5,happy_var_7,happy_var_9]) n as happy_var_4 cn })}}}}}}}}})- ) (\r -> happyReturn (happyIn17 r))--happyReduce_18 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_18 = happyReduce 5# 3# happyReduction_18-happyReduction_18 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> - case happyOut202 happy_x_2 of { happy_var_2 -> - case happyOut205 happy_x_3 of { happy_var_3 -> - case happyOut207 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XEmptyTagClose) -> - happyIn17- (XETag (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_5]) happy_var_2 (reverse happy_var_3) happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_19 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_19 = happySpecReduce_3 4# happyReduction_19-happyReduction_19 happy_x_3- happy_x_2- happy_x_1- = case happyOut272 happy_x_1 of { happy_var_1 -> - case happyOut19 happy_x_2 of { happy_var_2 -> - case happyOut273 happy_x_3 of { happy_var_3 -> - happyIn18- (let (os,ss,ml) = happy_var_2 in (os,happy_var_1:ss++[happy_var_3],happy_var_1 <^^> happy_var_3)- )}}}--happyReduce_20 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_20 = happySpecReduce_3 5# happyReduction_20-happyReduction_20 happy_x_3- happy_x_2- happy_x_1- = case happyOut20 happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { happy_var_2 -> - case happyOut19 happy_x_3 of { happy_var_3 -> - happyIn19- (let (os,ss,ml) = happy_var_3;- ss' = reverse happy_var_2 ++ ss;- l' = case happy_var_2 of- [] -> ann happy_var_1- _ -> ann happy_var_1 <++> nIS (last happy_var_2);- in (happy_var_1 : os, ss', Just $ l' <+?> ml)- )}}}--happyReduce_21 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_21 = happySpecReduce_0 5# happyReduction_21-happyReduction_21 = happyIn19- (([],[],Nothing)- )--happyReduce_22 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_22 = happyReduce 4# 6# happyReduction_22-happyReduction_22 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LANGUAGE) -> - case happyOut21 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - happyIn20- (LanguagePragma (happy_var_1 <^^> happy_var_4 <** (happy_var_1:snd happy_var_2 ++ reverse happy_var_3 ++ [happy_var_4])) (fst happy_var_2)- ) `HappyStk` happyRest}}}}--happyReduce_23 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_23 = happySpecReduce_3 6# happyReduction_23-happyReduction_23 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn20- (let Loc l (OPTIONS (mc, s)) = happy_var_1- in OptionsPragma (l <^^> happy_var_3 <** (l:reverse happy_var_2 ++ [happy_var_3])) (readTool mc) s- )}}}--happyReduce_24 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_24 = happySpecReduce_3 6# happyReduction_24-happyReduction_24 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 ANN) -> - case happyOut103 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn20- (AnnModulePragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_25 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_25 = happySpecReduce_3 7# happyReduction_25-happyReduction_25 happy_x_3- happy_x_2- happy_x_1- = case happyOut21 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut263 happy_x_3 of { happy_var_3 -> - happyIn21- ((fst happy_var_1 ++ [happy_var_3], snd happy_var_1 ++ [happy_var_2])- )}}}--happyReduce_26 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_26 = happySpecReduce_2 7# happyReduction_26-happyReduction_26 happy_x_2- happy_x_1- = case happyOut263 happy_x_2 of { happy_var_2 -> - happyIn21- (([happy_var_2],[])- )}--happyReduce_27 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_27 = happySpecReduce_2 8# happyReduction_27-happyReduction_27 happy_x_2- happy_x_1- = case happyOut23 happy_x_1 of { happy_var_1 -> - case happyOut25 happy_x_2 of { happy_var_2 -> - happyIn22- (let (is,ds,ss1,inf) = happy_var_2- in \os ss l -> Module (l <++> inf <** (ss ++ ss1)) happy_var_1 os is ds- )}}--happyReduce_28 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_28 = happyReduce 5# 9# happyReduction_28-happyReduction_28 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> - case happyOut283 happy_x_2 of { happy_var_2 -> - case happyOut24 happy_x_3 of { happy_var_3 -> - case happyOut29 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 KW_Where) -> - happyIn23- (Just $ ModuleHead (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_5]) happy_var_2 happy_var_3 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_29 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_29 = happySpecReduce_0 9# happyReduction_29-happyReduction_29 = happyIn23- (Nothing- )--happyReduce_30 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_30 = happySpecReduce_3 10# happyReduction_30-happyReduction_30 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DEPRECATED) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn24- (let Loc l (StringTok (s,_)) = happy_var_2 in Just $ DeprText (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) s- )}}}--happyReduce_31 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_31 = happySpecReduce_3 10# happyReduction_31-happyReduction_31 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 WARNING) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn24- (let Loc l (StringTok (s,_)) = happy_var_2 in Just $ WarnText (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) s- )}}}--happyReduce_32 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_32 = happySpecReduce_0 10# happyReduction_32-happyReduction_32 = happyIn24- (Nothing- )--happyReduce_33 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_33 = happySpecReduce_3 11# happyReduction_33-happyReduction_33 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut26 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn25- (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], happy_var_1 <^^> happy_var_3)- )}}}--happyReduce_34 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_34 = happyReduce 4# 11# happyReduction_34-happyReduction_34 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut272 happy_x_1 of { happy_var_1 -> - case happyOut26 happy_x_2 of { happy_var_2 -> - case happyOut273 happy_x_3 of { happy_var_3 -> - happyIn25- (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], happy_var_1 <^^> happy_var_3)- ) `HappyStk` happyRest}}}--happyReduce_35 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_35 = happyReduce 4# 12# happyReduction_35-happyReduction_35 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut37 happy_x_2 of { happy_var_2 -> - case happyOut27 happy_x_3 of { happy_var_3 -> - case happyOut58 happy_x_4 of { happy_var_4 -> - happyIn26- ((reverse (fst happy_var_2), fst happy_var_4, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3 ++ snd happy_var_4)- ) `HappyStk` happyRest}}}}--happyReduce_36 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_36 = happySpecReduce_2 12# happyReduction_36-happyReduction_36 happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut58 happy_x_2 of { happy_var_2 -> - happyIn26- (([], fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2)- )}}--happyReduce_37 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_37 = happySpecReduce_3 12# happyReduction_37-happyReduction_37 happy_x_3- happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut37 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - happyIn26- ((reverse (fst happy_var_2), [], reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)- )}}}--happyReduce_38 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_38 = happySpecReduce_1 12# happyReduction_38-happyReduction_38 happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - happyIn26- (([], [], reverse happy_var_1)- )}--happyReduce_39 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_39 = happySpecReduce_2 13# happyReduction_39-happyReduction_39 happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> - happyIn27- (happy_var_2 : happy_var_1- )}}--happyReduce_40 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_40 = happySpecReduce_1 14# happyReduction_40-happyReduction_40 happy_x_1- = case happyOut27 happy_x_1 of { happy_var_1 -> - happyIn28- (happy_var_1- )}--happyReduce_41 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_41 = happySpecReduce_0 14# happyReduction_41-happyReduction_41 = happyIn28- ([]- )--happyReduce_42 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_42 = happySpecReduce_1 15# happyReduction_42-happyReduction_42 happy_x_1- = case happyOut30 happy_x_1 of { happy_var_1 -> - happyIn29- (Just happy_var_1- )}--happyReduce_43 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_43 = happySpecReduce_0 15# happyReduction_43-happyReduction_43 = happyIn29- (Nothing- )--happyReduce_44 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_44 = happyReduce 4# 16# happyReduction_44-happyReduction_44 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut32 happy_x_2 of { happy_var_2 -> - case happyOut31 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn30- (ExportSpecList (happy_var_1 <^^> happy_var_4 <** (happy_var_1:reverse (snd happy_var_2) ++ happy_var_3 ++ [happy_var_4])) (reverse (fst happy_var_2))- ) `HappyStk` happyRest}}}}--happyReduce_45 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_45 = happySpecReduce_3 16# happyReduction_45-happyReduction_45 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut31 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn30- (ExportSpecList (happy_var_1 <^^> happy_var_3 <** (happy_var_1:happy_var_2++[happy_var_3])) []- )}}}--happyReduce_46 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_46 = happySpecReduce_1 17# happyReduction_46-happyReduction_46 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Comma) -> - happyIn31- ([happy_var_1]- )}--happyReduce_47 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_47 = happySpecReduce_0 17# happyReduction_47-happyReduction_47 = happyIn31- ([ ]- )--happyReduce_48 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_48 = happySpecReduce_3 18# happyReduction_48-happyReduction_48 happy_x_3- happy_x_2- happy_x_1- = case happyOut32 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut33 happy_x_3 of { happy_var_3 -> - happyIn32- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_49 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_49 = happySpecReduce_1 18# happyReduction_49-happyReduction_49 happy_x_1- = case happyOut33 happy_x_1 of { happy_var_1 -> - happyIn32- (([happy_var_1],[])- )}--happyReduce_50 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_50 = happySpecReduce_1 19# happyReduction_50-happyReduction_50 happy_x_1- = case happyOut243 happy_x_1 of { happy_var_1 -> - happyIn33- (EVar (ann happy_var_1) happy_var_1- )}--happyReduce_51 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_51 = happyMonadReduce 2# 19# happyReduction_51-happyReduction_51 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut36 happy_x_2 of { happy_var_2 -> - ( do { checkEnabled ExplicitNamespaces;- return (EAbs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1, srcInfoSpan (ann happy_var_2)]) (TypeNamespace (nIS happy_var_1 <** [happy_var_1])) happy_var_2) })}})- ) (\r -> happyReturn (happyIn33 r))--happyReduce_52 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_52 = happySpecReduce_1 19# happyReduction_52-happyReduction_52 happy_x_1- = case happyOut285 happy_x_1 of { happy_var_1 -> - happyIn33- (EAbs (ann happy_var_1) (NoNamespace (ann happy_var_1)) happy_var_1- )}--happyReduce_53 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_53 = happySpecReduce_3 19# happyReduction_53-happyReduction_53 happy_x_3- happy_x_2- happy_x_1- = case happyOut285 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn33- (EThingWith (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]) (NoWildcard noSrcSpan) happy_var_1 []- )}}}--happyReduce_54 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_54 = happyMonadReduce 4# 19# happyReduction_54-happyReduction_54 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut285 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut34 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - ( mkEThingWith (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4])) happy_var_1 (reverse $ fst happy_var_3))}}}})- ) (\r -> happyReturn (happyIn33 r))--happyReduce_55 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_55 = happySpecReduce_2 19# happyReduction_55-happyReduction_55 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> - case happyOut283 happy_x_2 of { happy_var_2 -> - happyIn33- (EModuleContents (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_56 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_56 = happyMonadReduce 2# 19# happyReduction_56-happyReduction_56 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> - case happyOut247 happy_x_2 of { happy_var_2 -> - ( do { checkEnabled PatternSynonyms;- return $ EAbs (nIS happy_var_1 <++> (ann happy_var_2) <** [happy_var_1])- (PatternNamespace (nIS happy_var_1)) happy_var_2 })}})- ) (\r -> happyReturn (happyIn33 r))--happyReduce_57 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_57 = happySpecReduce_3 20# happyReduction_57-happyReduction_57 happy_x_3- happy_x_2- happy_x_1- = case happyOut34 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut35 happy_x_3 of { happy_var_3 -> - happyIn34- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_58 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_58 = happySpecReduce_1 20# happyReduction_58-happyReduction_58 happy_x_1- = case happyOut35 happy_x_1 of { happy_var_1 -> - happyIn34- (([happy_var_1],[])- )}--happyReduce_59 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_59 = happySpecReduce_1 21# happyReduction_59-happyReduction_59 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DotDot) -> - happyIn35- (Left happy_var_1- )}--happyReduce_60 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_60 = happySpecReduce_1 21# happyReduction_60-happyReduction_60 happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - happyIn35- (Right happy_var_1- )}--happyReduce_61 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_61 = happySpecReduce_1 22# happyReduction_61-happyReduction_61 happy_x_1- = case happyOut243 happy_x_1 of { happy_var_1 -> - happyIn36- (happy_var_1- )}--happyReduce_62 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_62 = happySpecReduce_1 22# happyReduction_62-happyReduction_62 happy_x_1- = case happyOut247 happy_x_1 of { happy_var_1 -> - happyIn36- (happy_var_1- )}--happyReduce_63 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_63 = happySpecReduce_3 23# happyReduction_63-happyReduction_63 happy_x_3- happy_x_2- happy_x_1- = case happyOut37 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut38 happy_x_3 of { happy_var_3 -> - happyIn37- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_64 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_64 = happySpecReduce_1 23# happyReduction_64-happyReduction_64 happy_x_1- = case happyOut38 happy_x_1 of { happy_var_1 -> - happyIn37- (([happy_var_1],[])- )}--happyReduce_65 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_65 = happyReduce 8# 24# happyReduction_65-happyReduction_65 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Import) -> - case happyOut39 happy_x_2 of { happy_var_2 -> - case happyOut40 happy_x_3 of { happy_var_3 -> - case happyOut41 happy_x_4 of { happy_var_4 -> - case happyOut42 happy_x_5 of { happy_var_5 -> - case happyOut283 happy_x_6 of { happy_var_6 -> - case happyOut43 happy_x_7 of { happy_var_7 -> - case happyOut44 happy_x_8 of { happy_var_8 -> - happyIn38- (let { (mmn,ss,ml) = happy_var_7 ;- l = nIS happy_var_1 <++> ann happy_var_6 <+?> ml <+?> (fmap ann) happy_var_8 <** (happy_var_1:snd happy_var_2 ++ snd happy_var_3 ++ snd happy_var_4 ++ snd happy_var_5 ++ ss)}- in ImportDecl l happy_var_6 (fst happy_var_4) (fst happy_var_2) (fst happy_var_3) (fst happy_var_5) mmn happy_var_8- ) `HappyStk` happyRest}}}}}}}}--happyReduce_66 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_66 = happySpecReduce_2 25# happyReduction_66-happyReduction_66 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SOURCE) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 PragmaEnd) -> - happyIn39- ((True,[happy_var_1,happy_var_2])- )}}--happyReduce_67 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_67 = happySpecReduce_0 25# happyReduction_67-happyReduction_67 = happyIn39- ((False,[])- )--happyReduce_68 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_68 = happyMonadReduce 1# 26# happyReduction_68-happyReduction_68 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - ( do { checkEnabledOneOf [Safe, SafeImports, Trustworthy] ;- return (True, [happy_var_1]) })})- ) (\r -> happyReturn (happyIn40 r))--happyReduce_69 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_69 = happySpecReduce_0 26# happyReduction_69-happyReduction_69 = happyIn40- ((False, [])- )--happyReduce_70 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_70 = happySpecReduce_1 27# happyReduction_70-happyReduction_70 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> - happyIn41- ((True,[happy_var_1])- )}--happyReduce_71 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_71 = happySpecReduce_0 27# happyReduction_71-happyReduction_71 = happyIn41- ((False, [])- )--happyReduce_72 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_72 = happyMonadReduce 1# 28# happyReduction_72-happyReduction_72 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { happy_var_1 -> - ( do { checkEnabled PackageImports ;- let { Loc l (StringTok (s,_)) = happy_var_1 } ;- return $ (Just s,[l]) })})- ) (\r -> happyReturn (happyIn42 r))--happyReduce_73 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_73 = happySpecReduce_0 28# happyReduction_73-happyReduction_73 = happyIn42- ((Nothing,[])- )--happyReduce_74 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_74 = happySpecReduce_2 29# happyReduction_74-happyReduction_74 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> - case happyOut283 happy_x_2 of { happy_var_2 -> - happyIn43- ((Just happy_var_2,[happy_var_1],Just (nIS happy_var_1 <++> ann happy_var_2))- )}}--happyReduce_75 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_75 = happySpecReduce_0 29# happyReduction_75-happyReduction_75 = happyIn43- ((Nothing,[],Nothing)- )--happyReduce_76 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_76 = happySpecReduce_1 30# happyReduction_76-happyReduction_76 happy_x_1- = case happyOut45 happy_x_1 of { happy_var_1 -> - happyIn44- (Just happy_var_1- )}--happyReduce_77 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_77 = happySpecReduce_0 30# happyReduction_77-happyReduction_77 = happyIn44- (Nothing- )--happyReduce_78 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_78 = happyReduce 5# 31# happyReduction_78-happyReduction_78 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut46 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut47 happy_x_3 of { happy_var_3 -> - case happyOut31 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn45- (let {(b,ml,s) = happy_var_1 ;- l = (ml <?+> (happy_var_2 <^^> happy_var_5)) <** (s ++ happy_var_2:reverse (snd happy_var_3) ++ happy_var_4 ++ [happy_var_5])}- in ImportSpecList l b (reverse (fst happy_var_3))- ) `HappyStk` happyRest}}}}}--happyReduce_79 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_79 = happyReduce 4# 31# happyReduction_79-happyReduction_79 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut46 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut31 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn45- (let {(b,ml,s) = happy_var_1 ; l = (ml <?+> (happy_var_2 <^^> happy_var_4)) <** (s ++ happy_var_2:happy_var_3 ++ [happy_var_4])}- in ImportSpecList l b []- ) `HappyStk` happyRest}}}}--happyReduce_80 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_80 = happySpecReduce_1 32# happyReduction_80-happyReduction_80 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> - happyIn46- ((True,Just (nIS happy_var_1),[happy_var_1])- )}--happyReduce_81 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_81 = happySpecReduce_0 32# happyReduction_81-happyReduction_81 = happyIn46- ((False,Nothing,[])- )--happyReduce_82 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_82 = happySpecReduce_3 33# happyReduction_82-happyReduction_82 happy_x_3- happy_x_2- happy_x_1- = case happyOut47 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut48 happy_x_3 of { happy_var_3 -> - happyIn47- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_83 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_83 = happySpecReduce_1 33# happyReduction_83-happyReduction_83 happy_x_1- = case happyOut48 happy_x_1 of { happy_var_1 -> - happyIn47- (([happy_var_1],[])- )}--happyReduce_84 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_84 = happySpecReduce_1 34# happyReduction_84-happyReduction_84 happy_x_1- = case happyOut241 happy_x_1 of { happy_var_1 -> - happyIn48- (IVar (ann happy_var_1) happy_var_1- )}--happyReduce_85 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_85 = happyMonadReduce 2# 34# happyReduction_85-happyReduction_85 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut241 happy_x_2 of { happy_var_2 -> - ( do { checkEnabled ExplicitNamespaces;- return (IAbs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1, srcInfoSpan (ann happy_var_2)]) (TypeNamespace (nIS happy_var_1 <** [happy_var_1])) happy_var_2) })}})- ) (\r -> happyReturn (happyIn48 r))--happyReduce_86 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_86 = happyMonadReduce 2# 34# happyReduction_86-happyReduction_86 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> - case happyOut245 happy_x_2 of { happy_var_2 -> - ( do { checkEnabled PatternSynonyms;- return (IAbs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1, srcInfoSpan (ann happy_var_2)]) (PatternNamespace (nIS happy_var_1 <** [happy_var_1])) happy_var_2) })}})- ) (\r -> happyReturn (happyIn48 r))--happyReduce_87 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_87 = happySpecReduce_1 34# happyReduction_87-happyReduction_87 happy_x_1- = case happyOut284 happy_x_1 of { happy_var_1 -> - happyIn48- (IAbs (ann happy_var_1) (NoNamespace (ann happy_var_1)) happy_var_1- )}--happyReduce_88 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_88 = happyReduce 4# 34# happyReduction_88-happyReduction_88 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut284 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DotDot) -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn48- (IThingAll (ann happy_var_1 <++> nIS happy_var_4 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_1- ) `HappyStk` happyRest}}}}--happyReduce_89 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_89 = happySpecReduce_3 34# happyReduction_89-happyReduction_89 happy_x_3- happy_x_2- happy_x_1- = case happyOut284 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn48- (IThingWith (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]) happy_var_1 []- )}}}--happyReduce_90 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_90 = happyReduce 4# 34# happyReduction_90-happyReduction_90 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut284 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut49 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn48- (IThingWith (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4])) happy_var_1 (reverse (fst happy_var_3))- ) `HappyStk` happyRest}}}}--happyReduce_91 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_91 = happySpecReduce_3 35# happyReduction_91-happyReduction_91 happy_x_3- happy_x_2- happy_x_1- = case happyOut49 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut50 happy_x_3 of { happy_var_3 -> - happyIn49- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_92 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_92 = happySpecReduce_1 35# happyReduction_92-happyReduction_92 happy_x_1- = case happyOut50 happy_x_1 of { happy_var_1 -> - happyIn49- (([happy_var_1],[])- )}--happyReduce_93 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_93 = happySpecReduce_1 36# happyReduction_93-happyReduction_93 happy_x_1- = case happyOut241 happy_x_1 of { happy_var_1 -> - happyIn50- (VarName (ann happy_var_1) happy_var_1- )}--happyReduce_94 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_94 = happySpecReduce_1 36# happyReduction_94-happyReduction_94 happy_x_1- = case happyOut245 happy_x_1 of { happy_var_1 -> - happyIn50- (ConName (ann happy_var_1) happy_var_1- )}--happyReduce_95 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_95 = happySpecReduce_3 37# happyReduction_95-happyReduction_95 happy_x_3- happy_x_2- happy_x_1- = case happyOut53 happy_x_1 of { happy_var_1 -> - case happyOut52 happy_x_2 of { happy_var_2 -> - case happyOut54 happy_x_3 of { happy_var_3 -> - happyIn51- (let (ops,ss,l) = happy_var_3- in InfixDecl (ann happy_var_1 <++> l <** (snd happy_var_2 ++ reverse ss)) happy_var_1 (fst happy_var_2) (reverse ops)- )}}}--happyReduce_96 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_96 = happySpecReduce_0 38# happyReduction_96-happyReduction_96 = happyIn52- ((Nothing, [])- )--happyReduce_97 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_97 = happyMonadReduce 1# 38# happyReduction_97-happyReduction_97 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { happy_var_1 -> - ( let Loc l (IntTok (i,_)) = happy_var_1 in checkPrec i >>= \i -> return (Just i, [l]))})- ) (\r -> happyReturn (happyIn52 r))--happyReduce_98 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_98 = happySpecReduce_1 39# happyReduction_98-happyReduction_98 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Infix) -> - happyIn53- (AssocNone $ nIS happy_var_1- )}--happyReduce_99 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_99 = happySpecReduce_1 39# happyReduction_99-happyReduction_99 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixL) -> - happyIn53- (AssocLeft $ nIS happy_var_1- )}--happyReduce_100 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_100 = happySpecReduce_1 39# happyReduction_100-happyReduction_100 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixR) -> - happyIn53- (AssocRight $ nIS happy_var_1- )}--happyReduce_101 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_101 = happySpecReduce_3 40# happyReduction_101-happyReduction_101 happy_x_3- happy_x_2- happy_x_1- = case happyOut54 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut253 happy_x_3 of { happy_var_3 -> - happyIn54- (let (ops,ss,l) = happy_var_1 in (happy_var_3 : ops, happy_var_2 : ss, l <++> ann happy_var_3)- )}}}--happyReduce_102 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_102 = happySpecReduce_1 40# happyReduction_102-happyReduction_102 happy_x_1- = case happyOut253 happy_x_1 of { happy_var_1 -> - happyIn54- (([happy_var_1],[],ann happy_var_1)- )}--happyReduce_103 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_103 = happySpecReduce_0 41# happyReduction_103-happyReduction_103 = happyIn55- (Nothing- )--happyReduce_104 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_104 = happySpecReduce_1 41# happyReduction_104-happyReduction_104 happy_x_1- = case happyOut56 happy_x_1 of { happy_var_1 -> - happyIn55- (Just happy_var_1- )}--happyReduce_105 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_105 = happyReduce 4# 42# happyReduction_105-happyReduction_105 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> - case happyOut287 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> - case happyOut57 happy_x_4 of { happy_var_4 -> - happyIn56- (InjectivityInfo (nIS happy_var_1 <++> ann (last happy_var_4) <** [happy_var_1,happy_var_3]) happy_var_2 (reverse happy_var_4)- ) `HappyStk` happyRest}}}}--happyReduce_106 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_106 = happySpecReduce_2 43# happyReduction_106-happyReduction_106 happy_x_2- happy_x_1- = case happyOut57 happy_x_1 of { happy_var_1 -> - case happyOut287 happy_x_2 of { happy_var_2 -> - happyIn57- (happy_var_2 : happy_var_1- )}}--happyReduce_107 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_107 = happySpecReduce_1 43# happyReduction_107-happyReduction_107 happy_x_1- = case happyOut287 happy_x_1 of { happy_var_1 -> - happyIn57- ([happy_var_1]- )}--happyReduce_108 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_108 = happyMonadReduce 2# 44# happyReduction_108-happyReduction_108 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut59 happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { happy_var_2 -> - ( checkRevDecls (fst happy_var_1) >>= \ds -> return (ds, snd happy_var_1 ++ reverse happy_var_2))}})- ) (\r -> happyReturn (happyIn58 r))--happyReduce_109 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_109 = happySpecReduce_3 45# happyReduction_109-happyReduction_109 happy_x_3- happy_x_2- happy_x_1- = case happyOut59 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut60 happy_x_3 of { happy_var_3 -> - happyIn59- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_110 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_110 = happySpecReduce_1 45# happyReduction_110-happyReduction_110 happy_x_1- = case happyOut60 happy_x_1 of { happy_var_1 -> - happyIn59- (([happy_var_1],[])- )}--happyReduce_111 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_111 = happyMonadReduce 1# 46# happyReduction_111-happyReduction_111 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut65 happy_x_1 of { happy_var_1 -> - ( checkEnabled RoleAnnotations >> return happy_var_1)})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_112 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_112 = happyMonadReduce 4# 46# happyReduction_112-happyReduction_112 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut105 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut119 happy_x_4 of { happy_var_4 -> - ( do { dh <- checkSimpleType happy_var_2;- let {l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]};- return (TypeDecl l dh happy_var_4) })}}}})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_113 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_113 = happyMonadReduce 6# 46# happyReduction_113-happyReduction_113 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Family) -> - case happyOut107 happy_x_3 of { happy_var_3 -> - case happyOut62 happy_x_4 of { happy_var_4 -> - case happyOut55 happy_x_5 of { happy_var_5 -> - case happyOut69 happy_x_6 of { happy_var_6 -> - ( do { dh <- checkSimpleType happy_var_3;- let {l = nIS happy_var_1 <++> ann happy_var_3 <** [happy_var_1,happy_var_2]};- case happy_var_6 of {- Nothing -> return (TypeFamDecl l dh happy_var_4 happy_var_5);- Just (x,a) -> return (ClosedTypeFamDecl (l <** [a]) dh happy_var_4 happy_var_5 x); }})}}}}}})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_114 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_114 = happyMonadReduce 5# 46# happyReduction_114-happyReduction_114 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut104 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 Equals) -> - case happyOut119 happy_x_5 of { happy_var_5 -> - ( do { -- no checkSimpleType happy_var_4 since dtype may contain type patterns- checkEnabled TypeFamilies ;- let {l = nIS happy_var_1 <++> ann happy_var_5 <** [happy_var_1,happy_var_2,happy_var_4]};- return (TypeInsDecl l happy_var_3 happy_var_5) })}}}}})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_115 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_115 = happyMonadReduce 4# 46# happyReduction_115-happyReduction_115 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOut120 happy_x_2 of { happy_var_2 -> - case happyOut136 happy_x_3 of { happy_var_3 -> - case happyOut144 happy_x_4 of { happy_var_4 -> - ( do { (cs,dh) <- checkDataHeader happy_var_2;- let { (qds,ss,minf) = happy_var_3;- l = happy_var_1 <> happy_var_2 <+?> minf <+?> fmap ann (listToMaybe happy_var_4) <** ss};- checkDataOrNew happy_var_1 qds;- return (DataDecl l happy_var_1 cs dh (reverse qds) (reverse happy_var_4)) })}}}})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_116 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_116 = happyMonadReduce 5# 46# happyReduction_116-happyReduction_116 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOut120 happy_x_2 of { happy_var_2 -> - case happyOut155 happy_x_3 of { happy_var_3 -> - case happyOut132 happy_x_4 of { happy_var_4 -> - case happyOut144 happy_x_5 of { happy_var_5 -> - ( do { (cs,dh) <- checkDataHeader happy_var_2;- let { (gs,ss,minf) = happy_var_4;- derivs' = reverse happy_var_5;- l = ann happy_var_1 <+?> minf <+?> fmap ann (listToMaybe happy_var_5) <** (snd happy_var_3 ++ ss)};- checkDataOrNewG happy_var_1 gs;- case (gs, fst happy_var_3) of- ([], Nothing) -> return (DataDecl l happy_var_1 cs dh [] derivs')- _ -> checkEnabled GADTs >> return (GDataDecl l happy_var_1 cs dh (fst happy_var_3) (reverse gs) derivs') })}}}}})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_117 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_117 = happyMonadReduce 4# 46# happyReduction_117-happyReduction_117 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Family) -> - case happyOut120 happy_x_3 of { happy_var_3 -> - case happyOut61 happy_x_4 of { happy_var_4 -> - ( do { (cs,dh) <- checkDataHeader happy_var_3;- let {l = nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) happy_var_4 <** [happy_var_1,happy_var_2]};- return (DataFamDecl l cs dh happy_var_4) })}}}})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_118 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_118 = happyMonadReduce 5# 46# happyReduction_118-happyReduction_118 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut119 happy_x_3 of { happy_var_3 -> - case happyOut136 happy_x_4 of { happy_var_4 -> - case happyOut144 happy_x_5 of { happy_var_5 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4;- checkEnabled TypeFamilies ;- let { (qds,ss,minf) = happy_var_4 ;- l = happy_var_1 <> happy_var_3 <+?> minf <+?> fmap ann (listToMaybe happy_var_5) <** happy_var_2:ss };- checkDataOrNew happy_var_1 qds;- return (DataInsDecl l happy_var_1 happy_var_3 (reverse qds) (reverse happy_var_5)) })}}}}})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_119 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_119 = happyMonadReduce 6# 46# happyReduction_119-happyReduction_119 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut119 happy_x_3 of { happy_var_3 -> - case happyOut155 happy_x_4 of { happy_var_4 -> - case happyOut132 happy_x_5 of { happy_var_5 -> - case happyOut144 happy_x_6 of { happy_var_6 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4;- checkEnabled TypeFamilies ;- let {(gs,ss,minf) = happy_var_5;- derivs' = reverse happy_var_6;- l = ann happy_var_1 <+?> minf <+?> fmap ann (listToMaybe derivs') <** (happy_var_2:snd happy_var_4 ++ ss)};- checkDataOrNewG happy_var_1 gs;- return (GDataInsDecl l happy_var_1 happy_var_3 (fst happy_var_4) (reverse gs) derivs') })}}}}}})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_120 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_120 = happyMonadReduce 4# 46# happyReduction_120-happyReduction_120 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Class) -> - case happyOut120 happy_x_2 of { happy_var_2 -> - case happyOut129 happy_x_3 of { happy_var_3 -> - case happyOut157 happy_x_4 of { happy_var_4 -> - ( do { (cs,dh) <- checkClassHeader happy_var_2;- let {(fds,ss1,minf1) = happy_var_3;(mcs,ss2,minf2) = happy_var_4} ;- let { l = nIS happy_var_1 <++> ann happy_var_2 <+?> minf1 <+?> minf2 <** (happy_var_1:ss1 ++ ss2)} ;- return (ClassDecl l cs dh fds mcs) })}}}})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_121 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_121 = happyMonadReduce 4# 46# happyReduction_121-happyReduction_121 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Instance) -> - case happyOut68 happy_x_2 of { happy_var_2 -> - case happyOut120 happy_x_3 of { happy_var_3 -> - case happyOut163 happy_x_4 of { happy_var_4 -> - ( do { ih <- checkInstHeader happy_var_3;- let {(mis,ss,minf) = happy_var_4};- return (InstDecl (nIS happy_var_1 <++> ann happy_var_3 <+?> minf <** (happy_var_1:ss)) happy_var_2 ih mis) })}}}})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_122 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_122 = happyMonadReduce 5# 46# happyReduction_122-happyReduction_122 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - case happyOut282 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_Instance) -> - case happyOut68 happy_x_4 of { happy_var_4 -> - case happyOut120 happy_x_5 of { happy_var_5 -> - ( do { checkEnabled StandaloneDeriving ;- ih <- checkInstHeader happy_var_5;- let {l = nIS happy_var_1 <++> ann happy_var_5 <** [happy_var_1,happy_var_3]};- return (DerivDecl l happy_var_2 happy_var_4 ih) })}}}}})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_123 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_123 = happyReduce 4# 46# happyReduction_123-happyReduction_123 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOut74 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn60- (DefaultDecl (happy_var_1 <^^> happy_var_4 <** (happy_var_1:happy_var_2 : snd happy_var_3 ++ [happy_var_4])) (fst happy_var_3)- ) `HappyStk` happyRest}}}}--happyReduce_124 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_124 = happyMonadReduce 1# 46# happyReduction_124-happyReduction_124 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut176 happy_x_1 of { happy_var_1 -> - ( do- checkToplevel happy_var_1- checkExpr happy_var_1 >>= \e -> return (SpliceDecl (ann e) e))})- ) (\r -> happyReturn (happyIn60 r))--happyReduce_125 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_125 = happyReduce 5# 46# happyReduction_125-happyReduction_125 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Import) -> - case happyOut90 happy_x_3 of { happy_var_3 -> - case happyOut91 happy_x_4 of { happy_var_4 -> - case happyOut92 happy_x_5 of { happy_var_5 -> - happyIn60- (let (s,n,t,ss) = happy_var_5 in ForImp (nIS happy_var_1 <++> ann t <** (happy_var_1:happy_var_2:ss)) happy_var_3 happy_var_4 s n t- ) `HappyStk` happyRest}}}}}--happyReduce_126 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_126 = happyReduce 4# 46# happyReduction_126-happyReduction_126 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Export) -> - case happyOut90 happy_x_3 of { happy_var_3 -> - case happyOut92 happy_x_4 of { happy_var_4 -> - happyIn60- (let (s,n,t,ss) = happy_var_4 in ForExp (nIS happy_var_1 <++> ann t <** (happy_var_1:happy_var_2:ss)) happy_var_3 s n t- ) `HappyStk` happyRest}}}}--happyReduce_127 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_127 = happySpecReduce_3 46# happyReduction_127-happyReduction_127 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 RULES) -> - case happyOut93 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn60- (RulePragmaDecl (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) $ reverse happy_var_2- )}}}--happyReduce_128 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_128 = happySpecReduce_3 46# happyReduction_128-happyReduction_128 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DEPRECATED) -> - case happyOut99 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn60- (DeprPragmaDecl (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) $ reverse (fst happy_var_2)- )}}}--happyReduce_129 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_129 = happySpecReduce_3 46# happyReduction_129-happyReduction_129 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 WARNING) -> - case happyOut99 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn60- (WarnPragmaDecl (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) $ reverse (fst happy_var_2)- )}}}--happyReduce_130 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_130 = happySpecReduce_3 46# happyReduction_130-happyReduction_130 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 ANN) -> - case happyOut103 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn60- (AnnPragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_131 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_131 = happyReduce 4# 46# happyReduction_131-happyReduction_131 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 COMPLETE) -> - case happyOut246 happy_x_2 of { happy_var_2 -> - case happyOut156 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - happyIn60- (let com = maybe [] ((:[]) . fst) happy_var_3; ts = fmap snd happy_var_3 in-(CompletePragma (happy_var_1 <^^> happy_var_4 <** ([happy_var_1] ++ fst happy_var_2 ++ com ++ [happy_var_4])) (snd happy_var_2) ts)- ) `HappyStk` happyRest}}}}--happyReduce_132 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_132 = happySpecReduce_1 46# happyReduction_132-happyReduction_132 happy_x_1- = case happyOut77 happy_x_1 of { happy_var_1 -> - happyIn60- (happy_var_1- )}--happyReduce_133 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_133 = happySpecReduce_0 47# happyReduction_133-happyReduction_133 = happyIn61- (Nothing- )--happyReduce_134 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_134 = happySpecReduce_2 47# happyReduction_134-happyReduction_134 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> - case happyOut149 happy_x_2 of { happy_var_2 -> - happyIn61- ((Just $ KindSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2)- )}}--happyReduce_135 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_135 = happySpecReduce_0 48# happyReduction_135-happyReduction_135 = happyIn62- (Nothing- )--happyReduce_136 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_136 = happySpecReduce_2 48# happyReduction_136-happyReduction_136 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> - case happyOut149 happy_x_2 of { happy_var_2 -> - happyIn62- ((Just $ KindSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2)- )}}--happyReduce_137 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_137 = happySpecReduce_2 48# happyReduction_137-happyReduction_137 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> - case happyOut126 happy_x_2 of { happy_var_2 -> - happyIn62- ((Just $ TyVarSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2)- )}}--happyReduce_138 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_138 = happySpecReduce_0 49# happyReduction_138-happyReduction_138 = happyIn63- ((Nothing, Nothing)- )--happyReduce_139 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_139 = happySpecReduce_2 49# happyReduction_139-happyReduction_139 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> - case happyOut149 happy_x_2 of { happy_var_2 -> - happyIn63- ((Just (KindSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2), Nothing)- )}}--happyReduce_140 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_140 = happySpecReduce_3 49# happyReduction_140-happyReduction_140 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> - case happyOut126 happy_x_2 of { happy_var_2 -> - case happyOut56 happy_x_3 of { happy_var_3 -> - happyIn63- ((Just (TyVarSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2), Just happy_var_3)- )}}}--happyReduce_141 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_141 = happySpecReduce_0 50# happyReduction_141-happyReduction_141 = happyIn64- ((Nothing, Nothing, Nothing)- )--happyReduce_142 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_142 = happySpecReduce_2 50# happyReduction_142-happyReduction_142 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> - case happyOut149 happy_x_2 of { happy_var_2 -> - happyIn64- ((Just (KindSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2), Nothing, Nothing)- )}}--happyReduce_143 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_143 = happySpecReduce_3 50# happyReduction_143-happyReduction_143 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> - case happyOut119 happy_x_2 of { happy_var_2 -> - case happyOut55 happy_x_3 of { happy_var_3 -> - happyIn64- ((Nothing, Just (happy_var_1, happy_var_2), happy_var_3)- )}}}--happyReduce_144 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_144 = happyMonadReduce 4# 51# happyReduction_144-happyReduction_144 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Role) -> - case happyOut117 happy_x_3 of { happy_var_3 -> - case happyOut66 happy_x_4 of { happy_var_4 -> - ( mkRoleAnnotDecl happy_var_1 happy_var_2 happy_var_3 (reverse happy_var_4))}}}})- ) (\r -> happyReturn (happyIn65 r))--happyReduce_145 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_145 = happySpecReduce_0 52# happyReduction_145-happyReduction_145 = happyIn66- ([]- )--happyReduce_146 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_146 = happySpecReduce_2 52# happyReduction_146-happyReduction_146 happy_x_2- happy_x_1- = case happyOut66 happy_x_1 of { happy_var_1 -> - case happyOut67 happy_x_2 of { happy_var_2 -> - happyIn66- (happy_var_2 : happy_var_1- )}}--happyReduce_147 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_147 = happySpecReduce_1 53# happyReduction_147-happyReduction_147 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn67- (let (VarId v) = unLoc happy_var_1 in (Just v, nIS $ loc happy_var_1)- )}--happyReduce_148 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_148 = happySpecReduce_1 53# happyReduction_148-happyReduction_148 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> - happyIn67- ((Nothing, nIS happy_var_1)- )}--happyReduce_149 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_149 = happySpecReduce_2 54# happyReduction_149-happyReduction_149 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 OVERLAP) -> - happyIn68- (Just (Overlap (nIS happy_var_1))- )}--happyReduce_150 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_150 = happySpecReduce_2 54# happyReduction_150-happyReduction_150 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 OVERLAPS) -> - happyIn68- (Just (Overlaps (nIS happy_var_1))- )}--happyReduce_151 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_151 = happySpecReduce_2 54# happyReduction_151-happyReduction_151 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 OVERLAPPING) -> - happyIn68- (Just (Overlapping (nIS happy_var_1))- )}--happyReduce_152 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_152 = happySpecReduce_2 54# happyReduction_152-happyReduction_152 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 OVERLAPPABLE) -> - happyIn68- (Just (Overlappable (nIS happy_var_1))- )}--happyReduce_153 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_153 = happySpecReduce_2 54# happyReduction_153-happyReduction_153 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 INCOHERENT) -> - happyIn68- (Just (Incoherent (nIS happy_var_1))- )}--happyReduce_154 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_154 = happySpecReduce_2 54# happyReduction_154-happyReduction_154 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 NO_OVERLAP) -> - happyIn68- (Just (NoOverlap (nIS happy_var_1))- )}--happyReduce_155 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_155 = happySpecReduce_0 54# happyReduction_155-happyReduction_155 = happyIn68- (Nothing- )--happyReduce_156 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_156 = happySpecReduce_0 55# happyReduction_156-happyReduction_156 = happyIn69- (Nothing- )--happyReduce_157 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_157 = happySpecReduce_2 55# happyReduction_157-happyReduction_157 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut70 happy_x_2 of { happy_var_2 -> - happyIn69- (Just (happy_var_2, happy_var_1)- )}}--happyReduce_158 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_158 = happySpecReduce_3 56# happyReduction_158-happyReduction_158 happy_x_3- happy_x_2- happy_x_1- = case happyOut71 happy_x_2 of { happy_var_2 -> - happyIn70- (happy_var_2- )}--happyReduce_159 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_159 = happySpecReduce_3 56# happyReduction_159-happyReduction_159 happy_x_3- happy_x_2- happy_x_1- = case happyOut71 happy_x_2 of { happy_var_2 -> - happyIn70- (happy_var_2- )}--happyReduce_160 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_160 = happySpecReduce_3 57# happyReduction_160-happyReduction_160 happy_x_3- happy_x_2- happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - case happyOut72 happy_x_3 of { happy_var_3 -> - happyIn71- (happy_var_1 ++ [happy_var_3]- )}}--happyReduce_161 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_161 = happySpecReduce_2 57# happyReduction_161-happyReduction_161 happy_x_2- happy_x_1- = case happyOut71 happy_x_1 of { happy_var_1 -> - happyIn71- (happy_var_1- )}--happyReduce_162 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_162 = happySpecReduce_1 57# happyReduction_162-happyReduction_162 happy_x_1- = case happyOut72 happy_x_1 of { happy_var_1 -> - happyIn71- ([happy_var_1]- )}--happyReduce_163 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_163 = happyMonadReduce 3# 58# happyReduction_163-happyReduction_163 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut119 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> - case happyOut119 happy_x_3 of { happy_var_3 -> - ( do { checkEnabled TypeFamilies ;- return (TypeEqn (ann happy_var_1 <++> ann happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3) })}}})- ) (\r -> happyReturn (happyIn72 r))--happyReduce_164 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_164 = happySpecReduce_1 59# happyReduction_164-happyReduction_164 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> - happyIn73- (DataType $ nIS happy_var_1- )}--happyReduce_165 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_165 = happySpecReduce_1 59# happyReduction_165-happyReduction_165 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> - happyIn73- (NewType $ nIS happy_var_1- )}--happyReduce_166 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_166 = happyMonadReduce 1# 60# happyReduction_166-happyReduction_166 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut122 happy_x_1 of { happy_var_1 -> - ( do { ts <- mapM checkType (fst happy_var_1);- return $ (reverse ts, reverse (snd happy_var_1)) })})- ) (\r -> happyReturn (happyIn74 r))--happyReduce_167 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_167 = happySpecReduce_1 60# happyReduction_167-happyReduction_167 happy_x_1- = case happyOut106 happy_x_1 of { happy_var_1 -> - happyIn74- (([happy_var_1],[])- )}--happyReduce_168 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_168 = happySpecReduce_0 60# happyReduction_168-happyReduction_168 = happyIn74- (([],[])- )--happyReduce_169 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_169 = happyMonadReduce 3# 61# happyReduction_169-happyReduction_169 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut76 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - ( checkRevDecls (fst happy_var_2) >>= \ds -> return (ds, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))}}})- ) (\r -> happyReturn (happyIn75 r))--happyReduce_170 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_170 = happySpecReduce_1 61# happyReduction_170-happyReduction_170 happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - happyIn75- (([],reverse happy_var_1)- )}--happyReduce_171 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_171 = happySpecReduce_3 62# happyReduction_171-happyReduction_171 happy_x_3- happy_x_2- happy_x_1- = case happyOut76 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut77 happy_x_3 of { happy_var_3 -> - happyIn76- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_172 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_172 = happySpecReduce_1 62# happyReduction_172-happyReduction_172 happy_x_1- = case happyOut77 happy_x_1 of { happy_var_1 -> - happyIn76- (([happy_var_1],[])- )}--happyReduce_173 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_173 = happySpecReduce_1 63# happyReduction_173-happyReduction_173 happy_x_1- = case happyOut79 happy_x_1 of { happy_var_1 -> - happyIn77- (happy_var_1- )}--happyReduce_174 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_174 = happySpecReduce_1 63# happyReduction_174-happyReduction_174 happy_x_1- = case happyOut51 happy_x_1 of { happy_var_1 -> - happyIn77- (happy_var_1- )}--happyReduce_175 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_175 = happySpecReduce_1 63# happyReduction_175-happyReduction_175 happy_x_1- = case happyOut168 happy_x_1 of { happy_var_1 -> - happyIn77- (happy_var_1- )}--happyReduce_176 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_176 = happySpecReduce_1 63# happyReduction_176-happyReduction_176 happy_x_1- = case happyOut274 happy_x_1 of { happy_var_1 -> - happyIn77- (happy_var_1- )}--happyReduce_177 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_177 = happySpecReduce_1 63# happyReduction_177-happyReduction_177 happy_x_1- = case happyOut280 happy_x_1 of { happy_var_1 -> - happyIn77- (happy_var_1- )}--happyReduce_178 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_178 = happySpecReduce_3 64# happyReduction_178-happyReduction_178 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut75 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn78- (BDecls (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) (fst happy_var_2)- )}}}--happyReduce_179 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_179 = happySpecReduce_3 64# happyReduction_179-happyReduction_179 happy_x_3- happy_x_2- happy_x_1- = case happyOut272 happy_x_1 of { happy_var_1 -> - case happyOut75 happy_x_2 of { happy_var_2 -> - case happyOut273 happy_x_3 of { happy_var_3 -> - happyIn78- (let l' = if null (fst happy_var_2) then nIS happy_var_3 else (ann . last $ fst happy_var_2)- in BDecls (nIS happy_var_1 <++> l' <** (happy_var_1:snd happy_var_2++[happy_var_3])) (fst happy_var_2)- )}}}--happyReduce_180 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_180 = happySpecReduce_1 65# happyReduction_180-happyReduction_180 happy_x_1- = case happyOut80 happy_x_1 of { happy_var_1 -> - happyIn79- (happy_var_1- )}--happyReduce_181 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_181 = happySpecReduce_1 65# happyReduction_181-happyReduction_181 happy_x_1- = case happyOut81 happy_x_1 of { happy_var_1 -> - happyIn79- (happy_var_1- )}--happyReduce_182 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_182 = happyMonadReduce 3# 66# happyReduction_182-happyReduction_182 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut178 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut119 happy_x_3 of { happy_var_3 -> - ( do { v <- checkSigVar happy_var_1;- return $ TypeSig (happy_var_1 <> happy_var_3 <** [happy_var_2]) [v] happy_var_3 })}}})- ) (\r -> happyReturn (happyIn80 r))--happyReduce_183 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_183 = happyMonadReduce 5# 66# happyReduction_183-happyReduction_183 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut178 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut89 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> - case happyOut119 happy_x_5 of { happy_var_5 -> - ( do { v <- checkSigVar happy_var_1;- let {(vs,ss,_) = happy_var_3 ; l = happy_var_1 <> happy_var_5 <** (happy_var_2 : reverse ss ++ [happy_var_4]) } ;- return $ TypeSig l (v : reverse vs) happy_var_5 })}}}}})- ) (\r -> happyReturn (happyIn80 r))--happyReduce_184 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_184 = happyReduce 4# 67# happyReduction_184-happyReduction_184 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut95 happy_x_2 of { happy_var_2 -> - case happyOut243 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - happyIn81- (let Loc l (INLINE s) = happy_var_1 in InlineSig (l <^^> happy_var_4 <** [l,happy_var_4]) s happy_var_2 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_185 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_185 = happyReduce 4# 67# happyReduction_185-happyReduction_185 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 INLINE_CONLIKE) -> - case happyOut95 happy_x_2 of { happy_var_2 -> - case happyOut243 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - happyIn81- (InlineConlikeSig (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_4]) happy_var_2 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_186 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_186 = happyReduce 6# 67# happyReduction_186-happyReduction_186 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SPECIALISE) -> - case happyOut95 happy_x_2 of { happy_var_2 -> - case happyOut243 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> - case happyOut82 happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_6 of { (Loc happy_var_6 PragmaEnd) -> - happyIn81- (SpecSig (happy_var_1 <^^> happy_var_6 <** (happy_var_1: happy_var_4 : snd happy_var_5 ++ [happy_var_6])) happy_var_2 happy_var_3 (fst happy_var_5)- ) `HappyStk` happyRest}}}}}}--happyReduce_187 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_187 = happyReduce 6# 67# happyReduction_187-happyReduction_187 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut95 happy_x_2 of { happy_var_2 -> - case happyOut243 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> - case happyOut82 happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_6 of { (Loc happy_var_6 PragmaEnd) -> - happyIn81- (let Loc l (SPECIALISE_INLINE s) = happy_var_1- in SpecInlineSig (l <^^> happy_var_6 <** (l:happy_var_4:snd happy_var_5++[happy_var_6])) s happy_var_2 happy_var_3 (fst happy_var_5)- ) `HappyStk` happyRest}}}}}}--happyReduce_188 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_188 = happyMonadReduce 4# 67# happyReduction_188-happyReduction_188 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 SPECIALISE) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut120 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> - ( do { ih <- checkInstHeader happy_var_3;- let {l = happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_2,happy_var_4]};- return $ InstSig l ih })}}}})- ) (\r -> happyReturn (happyIn81 r))--happyReduce_189 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_189 = happySpecReduce_3 67# happyReduction_189-happyReduction_189 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 MINIMAL) -> - case happyOut84 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - happyIn81- (MinimalPragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_190 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_190 = happySpecReduce_1 68# happyReduction_190-happyReduction_190 happy_x_1- = case happyOut83 happy_x_1 of { happy_var_1 -> - happyIn82- (([happy_var_1],[])- )}--happyReduce_191 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_191 = happySpecReduce_3 68# happyReduction_191-happyReduction_191 happy_x_3- happy_x_2- happy_x_1- = case happyOut83 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut82 happy_x_3 of { happy_var_3 -> - happyIn82- ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)- )}}}--happyReduce_192 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_192 = happyMonadReduce 1# 69# happyReduction_192-happyReduction_192 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut120 happy_x_1 of { happy_var_1 -> - ( checkType $ mkTyForall (ann happy_var_1) Nothing Nothing happy_var_1)})- ) (\r -> happyReturn (happyIn83 r))--happyReduce_193 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_193 = happySpecReduce_1 70# happyReduction_193-happyReduction_193 happy_x_1- = case happyOut85 happy_x_1 of { happy_var_1 -> - happyIn84- (Just happy_var_1- )}--happyReduce_194 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_194 = happySpecReduce_0 70# happyReduction_194-happyReduction_194 = happyIn84- (Nothing- )--happyReduce_195 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_195 = happySpecReduce_1 71# happyReduction_195-happyReduction_195 happy_x_1- = case happyOut86 happy_x_1 of { happy_var_1 -> - happyIn85- (happy_var_1- )}--happyReduce_196 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_196 = happySpecReduce_3 71# happyReduction_196-happyReduction_196 happy_x_3- happy_x_2- happy_x_1- = case happyOut86 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut85 happy_x_3 of { happy_var_3 -> - happyIn85- (OrFormula (ann happy_var_1 <++> ann happy_var_3 <** [happy_var_2]) [happy_var_1,happy_var_3]- )}}}--happyReduce_197 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_197 = happySpecReduce_1 72# happyReduction_197-happyReduction_197 happy_x_1- = case happyOut87 happy_x_1 of { happy_var_1 -> - happyIn86- (happy_var_1- )}--happyReduce_198 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_198 = happySpecReduce_3 72# happyReduction_198-happyReduction_198 happy_x_3- happy_x_2- happy_x_1- = case happyOut87 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut86 happy_x_3 of { happy_var_3 -> - happyIn86- (AndFormula (ann happy_var_1 <++> ann happy_var_3 <** [happy_var_2]) [happy_var_1,happy_var_3]- )}}}--happyReduce_199 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_199 = happySpecReduce_3 73# happyReduction_199-happyReduction_199 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut85 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn87- (ParenFormula (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_200 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_200 = happySpecReduce_1 73# happyReduction_200-happyReduction_200 happy_x_1- = case happyOut241 happy_x_1 of { happy_var_1 -> - happyIn87- (VarFormula (ann happy_var_1) happy_var_1- )}--happyReduce_201 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_201 = happySpecReduce_1 74# happyReduction_201-happyReduction_201 happy_x_1- = case happyOut78 happy_x_1 of { happy_var_1 -> - happyIn88- (happy_var_1- )}--happyReduce_202 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_202 = happySpecReduce_3 74# happyReduction_202-happyReduction_202 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut234 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn88- (IPBinds (happy_var_1 <^^> happy_var_3 <** snd happy_var_2) (fst happy_var_2)- )}}}--happyReduce_203 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_203 = happySpecReduce_3 74# happyReduction_203-happyReduction_203 happy_x_3- happy_x_2- happy_x_1- = case happyOut272 happy_x_1 of { happy_var_1 -> - case happyOut234 happy_x_2 of { happy_var_2 -> - happyIn88- (let l' = ann . last $ fst happy_var_2- in IPBinds (nIS happy_var_1 <++> l' <** snd happy_var_2) (fst happy_var_2)- )}}--happyReduce_204 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_204 = happySpecReduce_3 75# happyReduction_204-happyReduction_204 happy_x_3- happy_x_2- happy_x_1- = case happyOut89 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut241 happy_x_3 of { happy_var_3 -> - happyIn89- (let (ns,ss,l) = happy_var_1 in (happy_var_3 : ns, happy_var_2 : ss, l <++> ann happy_var_3)- )}}}--happyReduce_205 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_205 = happyMonadReduce 1# 75# happyReduction_205-happyReduction_205 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut243 happy_x_1 of { happy_var_1 -> - ( do { n <- checkUnQual happy_var_1;- return ([n],[],ann n) })})- ) (\r -> happyReturn (happyIn89 r))--happyReduce_206 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_206 = happySpecReduce_1 76# happyReduction_206-happyReduction_206 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> - happyIn90- (StdCall (nIS happy_var_1)- )}--happyReduce_207 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_207 = happySpecReduce_1 76# happyReduction_207-happyReduction_207 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> - happyIn90- (CCall (nIS happy_var_1)- )}--happyReduce_208 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_208 = happySpecReduce_1 76# happyReduction_208-happyReduction_208 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> - happyIn90- (CPlusPlus (nIS happy_var_1)- )}--happyReduce_209 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_209 = happySpecReduce_1 76# happyReduction_209-happyReduction_209 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> - happyIn90- (DotNet (nIS happy_var_1)- )}--happyReduce_210 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_210 = happySpecReduce_1 76# happyReduction_210-happyReduction_210 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> - happyIn90- (Jvm (nIS happy_var_1)- )}--happyReduce_211 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_211 = happySpecReduce_1 76# happyReduction_211-happyReduction_211 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> - happyIn90- (Js (nIS happy_var_1)- )}--happyReduce_212 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_212 = happySpecReduce_1 76# happyReduction_212-happyReduction_212 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> - happyIn90- (JavaScript (nIS happy_var_1)- )}--happyReduce_213 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_213 = happySpecReduce_1 76# happyReduction_213-happyReduction_213 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> - happyIn90- (CApi (nIS happy_var_1)- )}--happyReduce_214 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_214 = happySpecReduce_1 77# happyReduction_214-happyReduction_214 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - happyIn91- (Just $ PlaySafe (nIS happy_var_1) False- )}--happyReduce_215 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_215 = happySpecReduce_1 77# happyReduction_215-happyReduction_215 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> - happyIn91- (Just $ PlayRisky (nIS happy_var_1)- )}--happyReduce_216 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_216 = happySpecReduce_1 77# happyReduction_216-happyReduction_216 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> - happyIn91- (Just $ PlaySafe (nIS happy_var_1) True- )}--happyReduce_217 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_217 = happySpecReduce_1 77# happyReduction_217-happyReduction_217 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> - happyIn91- (Just $ PlayInterruptible (nIS happy_var_1)- )}--happyReduce_218 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_218 = happySpecReduce_0 77# happyReduction_218-happyReduction_218 = happyIn91- (Nothing- )--happyReduce_219 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_219 = happyReduce 4# 78# happyReduction_219-happyReduction_219 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut242 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut104 happy_x_4 of { happy_var_4 -> - happyIn92- (let Loc l (StringTok (s,_)) = happy_var_1 in (Just s, happy_var_2, happy_var_4, [l,happy_var_3])- ) `HappyStk` happyRest}}}}--happyReduce_220 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_220 = happySpecReduce_3 78# happyReduction_220-happyReduction_220 happy_x_3- happy_x_2- happy_x_1- = case happyOut242 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut104 happy_x_3 of { happy_var_3 -> - happyIn92- ((Nothing, happy_var_1, happy_var_3, [happy_var_2])- )}}}--happyReduce_221 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_221 = happySpecReduce_3 79# happyReduction_221-happyReduction_221 happy_x_3- happy_x_2- happy_x_1- = case happyOut93 happy_x_1 of { happy_var_1 -> - case happyOut94 happy_x_3 of { happy_var_3 -> - happyIn93- (happy_var_3 : happy_var_1- )}}--happyReduce_222 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_222 = happySpecReduce_2 79# happyReduction_222-happyReduction_222 happy_x_2- happy_x_1- = case happyOut93 happy_x_1 of { happy_var_1 -> - happyIn93- (happy_var_1- )}--happyReduce_223 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_223 = happySpecReduce_1 79# happyReduction_223-happyReduction_223 happy_x_1- = case happyOut94 happy_x_1 of { happy_var_1 -> - happyIn93- ([happy_var_1]- )}--happyReduce_224 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_224 = happySpecReduce_0 79# happyReduction_224-happyReduction_224 = happyIn93- ([]- )--happyReduce_225 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_225 = happyMonadReduce 6# 80# happyReduction_225-happyReduction_225 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { happy_var_1 -> - case happyOut95 happy_x_2 of { happy_var_2 -> - case happyOut96 happy_x_3 of { happy_var_3 -> - case happyOut176 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 Equals) -> - case happyOut174 happy_x_6 of { happy_var_6 -> - ( do { let {Loc l (StringTok (s,_)) = happy_var_1};- e <- checkRuleExpr happy_var_4;- return $ Rule (nIS l <++> ann happy_var_6 <** l:snd happy_var_3 ++ [happy_var_5]) s happy_var_2 (fst happy_var_3) e happy_var_6 })}}}}}})- ) (\r -> happyReturn (happyIn94 r))--happyReduce_226 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_226 = happySpecReduce_0 81# happyReduction_226-happyReduction_226 = happyIn95- (Nothing- )--happyReduce_227 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_227 = happySpecReduce_3 81# happyReduction_227-happyReduction_227 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn95- (let Loc l (IntTok (i,_)) = happy_var_2 in Just $ ActiveFrom (happy_var_1 <^^> happy_var_3 <** [happy_var_1,l,happy_var_3]) (fromInteger i)- )}}}--happyReduce_228 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_228 = happyReduce 4# 81# happyReduction_228-happyReduction_228 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> - case happyOutTok happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightSquare) -> - happyIn95- (let Loc l (IntTok (i,_)) = happy_var_3 in Just $ ActiveUntil (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_2,l,happy_var_4]) (fromInteger i)- ) `HappyStk` happyRest}}}}--happyReduce_229 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_229 = happySpecReduce_0 82# happyReduction_229-happyReduction_229 = happyIn96- ((Nothing,[])- )--happyReduce_230 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_230 = happySpecReduce_3 82# happyReduction_230-happyReduction_230 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - case happyOut97 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> - happyIn96- ((Just happy_var_2,[happy_var_1,happy_var_3])- )}}}--happyReduce_231 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_231 = happySpecReduce_1 83# happyReduction_231-happyReduction_231 happy_x_1- = case happyOut98 happy_x_1 of { happy_var_1 -> - happyIn97- ([happy_var_1]- )}--happyReduce_232 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_232 = happySpecReduce_2 83# happyReduction_232-happyReduction_232 happy_x_2- happy_x_1- = case happyOut98 happy_x_1 of { happy_var_1 -> - case happyOut97 happy_x_2 of { happy_var_2 -> - happyIn97- (happy_var_1 : happy_var_2- )}}--happyReduce_233 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_233 = happySpecReduce_1 84# happyReduction_233-happyReduction_233 happy_x_1- = case happyOut260 happy_x_1 of { happy_var_1 -> - happyIn98- (RuleVar (ann happy_var_1) happy_var_1- )}--happyReduce_234 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_234 = happyReduce 5# 84# happyReduction_234-happyReduction_234 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut260 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut119 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn98- (TypedRuleVar (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_3,happy_var_5]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_235 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_235 = happySpecReduce_3 85# happyReduction_235-happyReduction_235 happy_x_3- happy_x_2- happy_x_1- = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> - case happyOut100 happy_x_3 of { happy_var_3 -> - happyIn99- ((fst happy_var_3 : fst happy_var_1, snd happy_var_1 ++ (happy_var_2:snd happy_var_3))- )}}}--happyReduce_236 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_236 = happySpecReduce_2 85# happyReduction_236-happyReduction_236 happy_x_2- happy_x_1- = case happyOut99 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> - happyIn99- ((fst happy_var_1, snd happy_var_1 ++ [happy_var_2])- )}}--happyReduce_237 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_237 = happySpecReduce_1 85# happyReduction_237-happyReduction_237 happy_x_1- = case happyOut100 happy_x_1 of { happy_var_1 -> - happyIn99- (([fst happy_var_1],snd happy_var_1)- )}--happyReduce_238 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_238 = happySpecReduce_0 85# happyReduction_238-happyReduction_238 = happyIn99- (([],[])- )--happyReduce_239 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_239 = happySpecReduce_2 86# happyReduction_239-happyReduction_239 happy_x_2- happy_x_1- = case happyOut101 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { happy_var_2 -> - happyIn100- (let Loc l (StringTok (s,_)) = happy_var_2 in ((fst happy_var_1,s),snd happy_var_1 ++ [l])- )}}--happyReduce_240 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_240 = happySpecReduce_1 87# happyReduction_240-happyReduction_240 happy_x_1- = case happyOut102 happy_x_1 of { happy_var_1 -> - happyIn101- (([happy_var_1],[])- )}--happyReduce_241 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_241 = happySpecReduce_3 87# happyReduction_241-happyReduction_241 happy_x_3- happy_x_2- happy_x_1- = case happyOut102 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut101 happy_x_3 of { happy_var_3 -> - happyIn101- ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)- )}}}--happyReduce_242 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_242 = happySpecReduce_1 88# happyReduction_242-happyReduction_242 happy_x_1- = case happyOut245 happy_x_1 of { happy_var_1 -> - happyIn102- (happy_var_1- )}--happyReduce_243 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_243 = happySpecReduce_1 88# happyReduction_243-happyReduction_243 happy_x_1- = case happyOut241 happy_x_1 of { happy_var_1 -> - happyIn102- (happy_var_1- )}--happyReduce_244 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_244 = happyMonadReduce 3# 89# happyReduction_244-happyReduction_244 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut263 happy_x_2 of { happy_var_2 -> - case happyOut187 happy_x_3 of { happy_var_3 -> - ( checkExpr happy_var_3 >>= \e -> return (TypeAnn (nIS happy_var_1 <++> ann e <** [happy_var_1]) happy_var_2 e))}}})- ) (\r -> happyReturn (happyIn103 r))--happyReduce_245 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_245 = happyMonadReduce 2# 89# happyReduction_245-happyReduction_245 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> - case happyOut187 happy_x_2 of { happy_var_2 -> - ( checkExpr happy_var_2 >>= \e -> return (ModuleAnn (nIS happy_var_1 <++> ann e <** [happy_var_1]) e))}})- ) (\r -> happyReturn (happyIn103 r))--happyReduce_246 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_246 = happyMonadReduce 2# 89# happyReduction_246-happyReduction_246 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut102 happy_x_1 of { happy_var_1 -> - case happyOut187 happy_x_2 of { happy_var_2 -> - ( checkExpr happy_var_2 >>= \e -> return (Ann (happy_var_1 <> e) happy_var_1 e))}})- ) (\r -> happyReturn (happyIn103 r))--happyReduce_247 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_247 = happyMonadReduce 1# 90# happyReduction_247-happyReduction_247 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut105 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)})- ) (\r -> happyReturn (happyIn104 r))--happyReduce_248 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_248 = happySpecReduce_1 91# happyReduction_248-happyReduction_248 happy_x_1- = case happyOut110 happy_x_1 of { happy_var_1 -> - happyIn105- (splitTilde happy_var_1- )}--happyReduce_249 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_249 = happySpecReduce_3 91# happyReduction_249-happyReduction_249 happy_x_3- happy_x_2- happy_x_1- = case happyOut110 happy_x_1 of { happy_var_1 -> - case happyOut118 happy_x_2 of { happy_var_2 -> - case happyOut105 happy_x_3 of { happy_var_3 -> - happyIn105- (TyInfix (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_250 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_250 = happySpecReduce_3 91# happyReduction_250-happyReduction_250 happy_x_3- happy_x_2- happy_x_1- = case happyOut110 happy_x_1 of { happy_var_1 -> - case happyOut288 happy_x_2 of { happy_var_2 -> - case happyOut105 happy_x_3 of { happy_var_3 -> - happyIn105- (TyInfix (happy_var_1 <> happy_var_3) happy_var_1 (UnpromotedName (ann happy_var_2) happy_var_2) happy_var_3- )}}}--happyReduce_251 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_251 = happySpecReduce_3 91# happyReduction_251-happyReduction_251 happy_x_3- happy_x_2- happy_x_1- = case happyOut110 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOut120 happy_x_3 of { happy_var_3 -> - happyIn105- (TyFun (happy_var_1 <> happy_var_3 <** [happy_var_2]) (splitTilde happy_var_1) happy_var_3- )}}}--happyReduce_252 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_252 = happyMonadReduce 1# 92# happyReduction_252-happyReduction_252 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut107 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)})- ) (\r -> happyReturn (happyIn106 r))--happyReduce_253 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_253 = happySpecReduce_3 93# happyReduction_253-happyReduction_253 happy_x_3- happy_x_2- happy_x_1- = case happyOut244 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut105 happy_x_3 of { happy_var_3 -> - happyIn107- (let l = (happy_var_1 <> happy_var_3 <** [happy_var_2]) in TyPred l $ IParam l happy_var_1 happy_var_3- )}}}--happyReduce_254 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_254 = happySpecReduce_1 93# happyReduction_254-happyReduction_254 happy_x_1- = case happyOut105 happy_x_1 of { happy_var_1 -> - happyIn107- (happy_var_1- )}--happyReduce_255 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_255 = happyMonadReduce 1# 94# happyReduction_255-happyReduction_255 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut110 happy_x_1 of { happy_var_1 -> - ( checkType (splitTilde happy_var_1))})- ) (\r -> happyReturn (happyIn108 r))--happyReduce_256 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_256 = happyMonadReduce 1# 95# happyReduction_256-happyReduction_256 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut111 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)})- ) (\r -> happyReturn (happyIn109 r))--happyReduce_257 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_257 = happySpecReduce_2 96# happyReduction_257-happyReduction_257 happy_x_2- happy_x_1- = case happyOut110 happy_x_1 of { happy_var_1 -> - case happyOut111 happy_x_2 of { happy_var_2 -> - happyIn110- (TyApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_258 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_258 = happySpecReduce_1 96# happyReduction_258-happyReduction_258 happy_x_1- = case happyOut111 happy_x_1 of { happy_var_1 -> - happyIn110- (happy_var_1- )}--happyReduce_259 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_259 = happySpecReduce_1 97# happyReduction_259-happyReduction_259 happy_x_1- = case happyOut116 happy_x_1 of { happy_var_1 -> - happyIn111- (TyCon (ann happy_var_1) happy_var_1- )}--happyReduce_260 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_260 = happyMonadReduce 1# 97# happyReduction_260-happyReduction_260 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut286 happy_x_1 of { happy_var_1 -> - ( checkTyVar happy_var_1)})- ) (\r -> happyReturn (happyIn111 r))--happyReduce_261 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_261 = happySpecReduce_2 97# happyReduction_261-happyReduction_261 happy_x_2- happy_x_1- = case happyOut113 happy_x_1 of { happy_var_1 -> - case happyOut111 happy_x_2 of { happy_var_2 -> - happyIn111- (let (mstrict, mupack) = happy_var_1- in bangType mstrict mupack happy_var_2- )}}--happyReduce_262 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_262 = happySpecReduce_3 97# happyReduction_262-happyReduction_262 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut122 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn111- (TyTuple (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (happy_var_3:snd happy_var_2))) Boxed (reverse (fst happy_var_2))- )}}}--happyReduce_263 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_263 = happySpecReduce_3 97# happyReduction_263-happyReduction_263 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut124 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn111- (TyUnboxedSum (happy_var_1 <^^> happy_var_3 <** (happy_var_1: reverse (happy_var_3: snd happy_var_2))) (reverse (fst happy_var_2))- )}}}--happyReduce_264 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_264 = happySpecReduce_3 97# happyReduction_264-happyReduction_264 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut123 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn111- (TyTuple (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (happy_var_3:snd happy_var_2))) Unboxed (reverse (fst happy_var_2))- )}}}--happyReduce_265 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_265 = happySpecReduce_3 97# happyReduction_265-happyReduction_265 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOut107 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn111- (TyList (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_266 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_266 = happySpecReduce_3 97# happyReduction_266-happyReduction_266 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 ParArrayLeftSquare) -> - case happyOut107 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 ParArrayRightSquare) -> - happyIn111- (TyParArray (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_267 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_267 = happySpecReduce_3 97# happyReduction_267-happyReduction_267 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut120 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn111- (TyParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_268 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_268 = happyReduce 5# 97# happyReduction_268-happyReduction_268 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut120 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut149 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn111- (TyKind (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_3,happy_var_5]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_269 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_269 = happySpecReduce_3 97# happyReduction_269-happyReduction_269 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THParenEscape) -> - case happyOut174 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn111- (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in TySplice l $ ParenSplice l happy_var_2- )}}}--happyReduce_270 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_270 = happySpecReduce_1 97# happyReduction_270-happyReduction_270 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn111- (let Loc l (THIdEscape s) = happy_var_1 in TySplice (nIS l) $ IdSplice (nIS l) s- )}--happyReduce_271 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_271 = happySpecReduce_1 97# happyReduction_271-happyReduction_271 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> - happyIn111- (TyWildCard (nIS happy_var_1) Nothing- )}--happyReduce_272 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_272 = happySpecReduce_1 97# happyReduction_272-happyReduction_272 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn111- (let Loc l (THQuasiQuote (n,q)) = happy_var_1 in TyQuasiQuote (nIS l) n q- )}--happyReduce_273 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_273 = happyMonadReduce 1# 97# happyReduction_273-happyReduction_273 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut112 happy_x_1 of { happy_var_1 -> - ( checkEnabled DataKinds >> return (TyPromoted (ann happy_var_1) happy_var_1))})- ) (\r -> happyReturn (happyIn111 r))--happyReduce_274 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_274 = happyMonadReduce 2# 98# happyReduction_274-happyReduction_274 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut238 happy_x_2 of { happy_var_2 -> - ( fmap (PromotedCon (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) True) (pexprToQName happy_var_2))}})- ) (\r -> happyReturn (happyIn112 r))--happyReduce_275 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_275 = happyMonadReduce 4# 98# happyReduction_275-happyReduction_275 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut123 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightSquare) -> - ( PromotedList (happy_var_1 <^^> happy_var_4 <** (happy_var_1:reverse(happy_var_4:snd happy_var_3))) True . reverse <$> mapM checkType (fst happy_var_3))}}})- ) (\r -> happyReturn (happyIn112 r))--happyReduce_276 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_276 = happyMonadReduce 3# 98# happyReduction_276-happyReduction_276 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOut122 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - ( PromotedList (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse(happy_var_3:snd happy_var_2))) False . reverse <$> mapM checkType (fst happy_var_2))}}})- ) (\r -> happyReturn (happyIn112 r))--happyReduce_277 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_277 = happySpecReduce_3 98# happyReduction_277-happyReduction_277 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn112- (PromotedList (happy_var_1 <^^> happy_var_3 <** [happy_var_1, happy_var_3]) True []- )}}--happyReduce_278 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_278 = happyMonadReduce 4# 98# happyReduction_278-happyReduction_278 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut123 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - ( PromotedTuple (happy_var_1 <^^> happy_var_4 <** (happy_var_1:reverse(happy_var_4:snd happy_var_3))) . reverse <$> mapM checkType (fst happy_var_3))}}})- ) (\r -> happyReturn (happyIn112 r))--happyReduce_279 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_279 = happySpecReduce_1 98# happyReduction_279-happyReduction_279 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn112- (let Loc l (IntTok (i,raw)) = happy_var_1 in PromotedInteger (nIS l) i raw- )}--happyReduce_280 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_280 = happySpecReduce_1 98# happyReduction_280-happyReduction_280 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn112- (let Loc l (StringTok (s,raw)) = happy_var_1 in PromotedString (nIS l) s raw- )}--happyReduce_281 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_281 = happySpecReduce_1 99# happyReduction_281-happyReduction_281 happy_x_1- = case happyOut114 happy_x_1 of { happy_var_1 -> - happyIn113- ((Just happy_var_1, Nothing)- )}--happyReduce_282 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_282 = happySpecReduce_1 99# happyReduction_282-happyReduction_282 happy_x_1- = case happyOut115 happy_x_1 of { happy_var_1 -> - happyIn113- ((Nothing, Just happy_var_1)- )}--happyReduce_283 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_283 = happySpecReduce_2 99# happyReduction_283-happyReduction_283 happy_x_2- happy_x_1- = case happyOut115 happy_x_1 of { happy_var_1 -> - case happyOut114 happy_x_2 of { happy_var_2 -> - happyIn113- ((Just happy_var_2, Just happy_var_1)- )}}--happyReduce_284 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_284 = happySpecReduce_1 100# happyReduction_284-happyReduction_284 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - happyIn114- ((BangedTy, happy_var_1)- )}--happyReduce_285 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_285 = happySpecReduce_1 100# happyReduction_285-happyReduction_285 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Tilde) -> - happyIn114- ((LazyTy, happy_var_1)- )}--happyReduce_286 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_286 = happySpecReduce_2 101# happyReduction_286-happyReduction_286 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 UNPACK) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 PragmaEnd) -> - happyIn115- ((Unpack ((nIS happy_var_1 <++> nIS happy_var_2) <** [happy_var_1,happy_var_2]))- )}}--happyReduce_287 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_287 = happySpecReduce_2 101# happyReduction_287-happyReduction_287 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 NOUNPACK) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 PragmaEnd) -> - happyIn115- ((NoUnpack ((nIS happy_var_1 <++> nIS happy_var_2) <** [happy_var_1,happy_var_2]))- )}}--happyReduce_288 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_288 = happySpecReduce_1 102# happyReduction_288-happyReduction_288 happy_x_1- = case happyOut117 happy_x_1 of { happy_var_1 -> - happyIn116- (happy_var_1- )}--happyReduce_289 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_289 = happySpecReduce_2 102# happyReduction_289-happyReduction_289 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> - happyIn116- (unit_tycon_name (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_290 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_290 = happySpecReduce_3 102# happyReduction_290-happyReduction_290 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn116- (fun_tycon_name (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3])- )}}}--happyReduce_291 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_291 = happySpecReduce_2 102# happyReduction_291-happyReduction_291 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightSquare) -> - happyIn116- (list_tycon_name (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_292 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_292 = happySpecReduce_3 102# happyReduction_292-happyReduction_292 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut193 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn116- (tuple_tycon_name (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse happy_var_2 ++ [happy_var_3])) Boxed (length happy_var_2)- )}}}--happyReduce_293 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_293 = happySpecReduce_2 102# happyReduction_293-happyReduction_293 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> - happyIn116- (unboxed_singleton_tycon_name (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_294 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_294 = happySpecReduce_3 102# happyReduction_294-happyReduction_294 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut193 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn116- (tuple_tycon_name (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse happy_var_2 ++ [happy_var_3])) Unboxed (length happy_var_2)- )}}}--happyReduce_295 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_295 = happySpecReduce_1 103# happyReduction_295-happyReduction_295 happy_x_1- = case happyOut262 happy_x_1 of { happy_var_1 -> - happyIn117- (happy_var_1- )}--happyReduce_296 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_296 = happySpecReduce_3 103# happyReduction_296-happyReduction_296 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut256 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn117- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_297 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_297 = happySpecReduce_3 103# happyReduction_297-happyReduction_297 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut266 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn117- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_298 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_298 = happySpecReduce_1 104# happyReduction_298-happyReduction_298 happy_x_1- = case happyOut252 happy_x_1 of { happy_var_1 -> - happyIn118- (UnpromotedName (ann happy_var_1) happy_var_1- )}--happyReduce_299 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_299 = happySpecReduce_2 104# happyReduction_299-happyReduction_299 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut256 happy_x_2 of { happy_var_2 -> - happyIn118- (PromotedName (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_300 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_300 = happyMonadReduce 1# 105# happyReduction_300-happyReduction_300 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut120 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1)})- ) (\r -> happyReturn (happyIn119 r))--happyReduce_301 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_301 = happyReduce 4# 106# happyReduction_301-happyReduction_301 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - case happyOut125 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> - case happyOut120 happy_x_4 of { happy_var_4 -> - happyIn120- (mkTyForall (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) (Just (reverse (fst happy_var_2))) Nothing happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_302 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_302 = happySpecReduce_2 106# happyReduction_302-happyReduction_302 happy_x_2- happy_x_1- = case happyOut121 happy_x_1 of { happy_var_1 -> - case happyOut120 happy_x_2 of { happy_var_2 -> - happyIn120- (mkTyForall (happy_var_1 <> happy_var_2) Nothing (Just happy_var_1) happy_var_2- )}}--happyReduce_303 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_303 = happySpecReduce_1 106# happyReduction_303-happyReduction_303 happy_x_1- = case happyOut107 happy_x_1 of { happy_var_1 -> - happyIn120- (happy_var_1- )}--happyReduce_304 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_304 = happyMonadReduce 2# 107# happyReduction_304-happyReduction_304 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut110 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleArrow) -> - ( checkPContext $ (amap (\l -> l <++> nIS happy_var_2 <** (srcInfoPoints l ++ [happy_var_2]))) (splitTilde happy_var_1))}})- ) (\r -> happyReturn (happyIn121 r))--happyReduce_305 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_305 = happySpecReduce_3 108# happyReduction_305-happyReduction_305 happy_x_3- happy_x_2- happy_x_1- = case happyOut123 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut120 happy_x_3 of { happy_var_3 -> - happyIn122- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_306 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_306 = happySpecReduce_1 109# happyReduction_306-happyReduction_306 happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - happyIn123- (([happy_var_1],[])- )}--happyReduce_307 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_307 = happySpecReduce_3 109# happyReduction_307-happyReduction_307 happy_x_3- happy_x_2- happy_x_1- = case happyOut123 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut120 happy_x_3 of { happy_var_3 -> - happyIn123- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_308 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_308 = happySpecReduce_3 110# happyReduction_308-happyReduction_308 happy_x_3- happy_x_2- happy_x_1- = case happyOut120 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut120 happy_x_3 of { happy_var_3 -> - happyIn124- (([happy_var_3, happy_var_1], [happy_var_2])- )}}}--happyReduce_309 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_309 = happySpecReduce_3 110# happyReduction_309-happyReduction_309 happy_x_3- happy_x_2- happy_x_1- = case happyOut124 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut120 happy_x_3 of { happy_var_3 -> - happyIn124- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_310 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_310 = happySpecReduce_2 111# happyReduction_310-happyReduction_310 happy_x_2- happy_x_1- = case happyOut125 happy_x_1 of { happy_var_1 -> - case happyOut126 happy_x_2 of { happy_var_2 -> - happyIn125- ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))- )}}--happyReduce_311 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_311 = happySpecReduce_0 111# happyReduction_311-happyReduction_311 = happyIn125- (([],Nothing)- )--happyReduce_312 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_312 = happySpecReduce_1 112# happyReduction_312-happyReduction_312 happy_x_1- = case happyOut286 happy_x_1 of { happy_var_1 -> - happyIn126- (UnkindedVar (ann happy_var_1) happy_var_1- )}--happyReduce_313 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_313 = happyReduce 5# 112# happyReduction_313-happyReduction_313 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut286 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut149 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn126- (KindedVar (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_3,happy_var_5]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_314 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_314 = happySpecReduce_2 113# happyReduction_314-happyReduction_314 happy_x_2- happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - case happyOut286 happy_x_2 of { happy_var_2 -> - happyIn127- ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))- )}}--happyReduce_315 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_315 = happySpecReduce_0 113# happyReduction_315-happyReduction_315 = happyIn127- (([], Nothing)- )--happyReduce_316 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_316 = happySpecReduce_2 114# happyReduction_316-happyReduction_316 happy_x_2- happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - case happyOut286 happy_x_2 of { happy_var_2 -> - happyIn128- ((happy_var_2 : fst happy_var_1, snd happy_var_1 <?+> ann happy_var_2)- )}}--happyReduce_317 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_317 = happySpecReduce_0 115# happyReduction_317-happyReduction_317 = happyIn129- (([],[], Nothing)- )--happyReduce_318 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_318 = happyMonadReduce 2# 115# happyReduction_318-happyReduction_318 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> - case happyOut130 happy_x_2 of { happy_var_2 -> - ( do { checkEnabled FunctionalDependencies ;- let {(fds,ss,l) = happy_var_2} ;- return (reverse fds, happy_var_1 : reverse ss, Just (nIS happy_var_1 <++> l)) })}})- ) (\r -> happyReturn (happyIn129 r))--happyReduce_319 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_319 = happySpecReduce_3 116# happyReduction_319-happyReduction_319 happy_x_3- happy_x_2- happy_x_1- = case happyOut130 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut131 happy_x_3 of { happy_var_3 -> - happyIn130- (let (fds,ss,l) = happy_var_1 in (happy_var_3 : fds, happy_var_2 : ss, l <++> ann happy_var_3)- )}}}--happyReduce_320 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_320 = happySpecReduce_1 116# happyReduction_320-happyReduction_320 happy_x_1- = case happyOut131 happy_x_1 of { happy_var_1 -> - happyIn130- (([happy_var_1],[],ann happy_var_1)- )}--happyReduce_321 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_321 = happySpecReduce_3 117# happyReduction_321-happyReduction_321 happy_x_3- happy_x_2- happy_x_1- = case happyOut127 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOut128 happy_x_3 of { happy_var_3 -> - happyIn131- (FunDep (snd happy_var_1 <?+> nIS happy_var_2 <++> snd happy_var_3 <** [happy_var_2]) (reverse (fst happy_var_1)) (reverse (fst happy_var_3))- )}}}--happyReduce_322 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_322 = happyMonadReduce 4# 118# happyReduction_322-happyReduction_322 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut133 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( return (fst happy_var_3, happy_var_1 : happy_var_2 : snd happy_var_3 ++ [happy_var_4], Just $ happy_var_1 <^^> happy_var_4))}}}})- ) (\r -> happyReturn (happyIn132 r))--happyReduce_323 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_323 = happyMonadReduce 4# 118# happyReduction_323-happyReduction_323 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut272 happy_x_2 of { happy_var_2 -> - case happyOut133 happy_x_3 of { happy_var_3 -> - case happyOut273 happy_x_4 of { happy_var_4 -> - ( return (fst happy_var_3, happy_var_1 : happy_var_2 : snd happy_var_3 ++ [happy_var_4], Just $ happy_var_1 <^^> happy_var_4))}}}})- ) (\r -> happyReturn (happyIn132 r))--happyReduce_324 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_324 = happyMonadReduce 0# 118# happyReduction_324-happyReduction_324 (happyRest) tk- = happyThen ((( checkEnabled EmptyDataDecls >> return ([],[],Nothing)))- ) (\r -> happyReturn (happyIn132 r))--happyReduce_325 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_325 = happySpecReduce_3 119# happyReduction_325-happyReduction_325 happy_x_3- happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut134 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - happyIn133- ((fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)- )}}}--happyReduce_326 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_326 = happySpecReduce_3 120# happyReduction_326-happyReduction_326 happy_x_3- happy_x_2- happy_x_1- = case happyOut134 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut135 happy_x_3 of { happy_var_3 -> - happyIn134- ((happy_var_3 ++ fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_327 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_327 = happySpecReduce_1 120# happyReduction_327-happyReduction_327 happy_x_1- = case happyOut135 happy_x_1 of { happy_var_1 -> - happyIn134- ((happy_var_1,[])- )}--happyReduce_328 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_328 = happyMonadReduce 3# 121# happyReduction_328-happyReduction_328 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut247 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut119 happy_x_3 of { happy_var_3 -> - ( do { c <- checkUnQual happy_var_1;- return [GadtDecl (happy_var_1 <> happy_var_3 <** [happy_var_2]) c Nothing happy_var_3] })}}})- ) (\r -> happyReturn (happyIn135 r))--happyReduce_329 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_329 = happyMonadReduce 7# 121# happyReduction_329-happyReduction_329 (happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut247 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftCurly) -> - case happyOut142 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightCurly) -> - case happyOutTok happy_x_6 of { (Loc happy_var_6 RightArrow) -> - case happyOut119 happy_x_7 of { happy_var_7 -> - ( do { c <- checkUnQual happy_var_1;- return [GadtDecl (happy_var_1 <> happy_var_7 <** [happy_var_2,happy_var_3,happy_var_5,happy_var_6] ++ snd happy_var_4) c (Just (reverse $ fst happy_var_4)) happy_var_7] })}}}}}}})- ) (\r -> happyReturn (happyIn135 r))--happyReduce_330 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_330 = happySpecReduce_2 122# happyReduction_330-happyReduction_330 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> - case happyOut137 happy_x_2 of { happy_var_2 -> - happyIn136- (let (ds,ss,l) = happy_var_2 in (ds, happy_var_1 : reverse ss, Just $ nIS happy_var_1 <++> l)- )}}--happyReduce_331 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_331 = happySpecReduce_3 123# happyReduction_331-happyReduction_331 happy_x_3- happy_x_2- happy_x_1- = case happyOut137 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut138 happy_x_3 of { happy_var_3 -> - happyIn137- (let (ds,ss,l) = happy_var_1 in (happy_var_3 : ds, happy_var_2 : ss, l <++> ann happy_var_3)- )}}}--happyReduce_332 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_332 = happySpecReduce_1 123# happyReduction_332-happyReduction_332 happy_x_1- = case happyOut138 happy_x_1 of { happy_var_1 -> - happyIn137- (([happy_var_1],[],ann happy_var_1)- )}--happyReduce_333 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_333 = happyMonadReduce 3# 124# happyReduction_333-happyReduction_333 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut139 happy_x_1 of { happy_var_1 -> - case happyOut121 happy_x_2 of { happy_var_2 -> - case happyOut140 happy_x_3 of { happy_var_3 -> - ( do { checkEnabled ExistentialQuantification ;- ctxt <- checkContext (Just happy_var_2) ;- let {(mtvs,ss,ml) = happy_var_1} ;- return $ QualConDecl (ml <?+> ann happy_var_3 <** ss) mtvs ctxt happy_var_3 })}}})- ) (\r -> happyReturn (happyIn138 r))--happyReduce_334 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_334 = happySpecReduce_2 124# happyReduction_334-happyReduction_334 happy_x_2- happy_x_1- = case happyOut139 happy_x_1 of { happy_var_1 -> - case happyOut140 happy_x_2 of { happy_var_2 -> - happyIn138- (let (mtvs, ss, ml) = happy_var_1 in QualConDecl (ml <?+> ann happy_var_2 <** ss) mtvs Nothing happy_var_2- )}}--happyReduce_335 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_335 = happyMonadReduce 3# 125# happyReduction_335-happyReduction_335 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - case happyOut125 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> - ( checkEnabled ExistentialQuantification >> return (Just (fst happy_var_2), [happy_var_1,happy_var_3], Just $ happy_var_1 <^^> happy_var_3))}}})- ) (\r -> happyReturn (happyIn139 r))--happyReduce_336 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_336 = happySpecReduce_0 125# happyReduction_336-happyReduction_336 = happyIn139- ((Nothing, [], Nothing)- )--happyReduce_337 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_337 = happySpecReduce_1 126# happyReduction_337-happyReduction_337 happy_x_1- = case happyOut141 happy_x_1 of { happy_var_1 -> - happyIn140- (let (n,ts,l) = happy_var_1 in ConDecl l n ts- )}--happyReduce_338 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_338 = happySpecReduce_3 126# happyReduction_338-happyReduction_338 happy_x_3- happy_x_2- happy_x_1- = case happyOut108 happy_x_1 of { happy_var_1 -> - case happyOut251 happy_x_2 of { happy_var_2 -> - case happyOut108 happy_x_3 of { happy_var_3 -> - happyIn140- (InfixConDecl (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_339 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_339 = happyMonadReduce 3# 126# happyReduction_339-happyReduction_339 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut247 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - ( do { c <- checkUnQual happy_var_1; return $ RecDecl (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]) c [] })}}})- ) (\r -> happyReturn (happyIn140 r))--happyReduce_340 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_340 = happyMonadReduce 4# 126# happyReduction_340-happyReduction_340 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut247 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut142 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( do { c <- checkUnQual happy_var_1;- return $ RecDecl (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:reverse (snd happy_var_3) ++ [happy_var_4])) c (reverse (fst happy_var_3)) })}}}})- ) (\r -> happyReturn (happyIn140 r))--happyReduce_341 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_341 = happyMonadReduce 1# 127# happyReduction_341-happyReduction_341 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut110 happy_x_1 of { happy_var_1 -> - ( do { (c,ts) <- splitTyConApp happy_var_1;- return (c, ts, ann happy_var_1) })})- ) (\r -> happyReturn (happyIn141 r))--happyReduce_342 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_342 = happySpecReduce_3 128# happyReduction_342-happyReduction_342 happy_x_3- happy_x_2- happy_x_1- = case happyOut142 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut143 happy_x_3 of { happy_var_3 -> - happyIn142- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_343 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_343 = happySpecReduce_1 128# happyReduction_343-happyReduction_343 happy_x_1- = case happyOut143 happy_x_1 of { happy_var_1 -> - happyIn142- (([happy_var_1],[])- )}--happyReduce_344 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_344 = happySpecReduce_3 129# happyReduction_344-happyReduction_344 happy_x_3- happy_x_2- happy_x_1- = case happyOut89 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut119 happy_x_3 of { happy_var_3 -> - happyIn143- (let (ns,ss,l) = happy_var_1 in FieldDecl (l <++> ann happy_var_3 <** (reverse ss ++ [happy_var_2])) (reverse ns) happy_var_3- )}}}--happyReduce_345 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_345 = happySpecReduce_0 130# happyReduction_345-happyReduction_345 = happyIn144- ([]- )--happyReduce_346 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_346 = happySpecReduce_1 130# happyReduction_346-happyReduction_346 happy_x_1- = case happyOut145 happy_x_1 of { happy_var_1 -> - happyIn144- (happy_var_1- )}--happyReduce_347 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_347 = happySpecReduce_2 131# happyReduction_347-happyReduction_347 happy_x_2- happy_x_1- = case happyOut145 happy_x_1 of { happy_var_1 -> - case happyOut146 happy_x_2 of { happy_var_2 -> - happyIn145- (happy_var_2 : happy_var_1- )}}--happyReduce_348 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_348 = happySpecReduce_1 131# happyReduction_348-happyReduction_348 happy_x_1- = case happyOut146 happy_x_1 of { happy_var_1 -> - happyIn145- ([happy_var_1]- )}--happyReduce_349 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_349 = happySpecReduce_3 132# happyReduction_349-happyReduction_349 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - case happyOut282 happy_x_2 of { happy_var_2 -> - case happyOut148 happy_x_3 of { happy_var_3 -> - happyIn146- (let l = nIS happy_var_1 <++> ann happy_var_3 <** [happy_var_1] in Deriving l happy_var_2 [IRule (ann happy_var_3) Nothing Nothing happy_var_3]- )}}}--happyReduce_350 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_350 = happyReduce 4# 132# happyReduction_350-happyReduction_350 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - case happyOut282 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftParen) -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> - happyIn146- (Deriving (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_3,happy_var_4]) happy_var_2 []- ) `HappyStk` happyRest}}}}--happyReduce_351 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_351 = happyReduce 5# 132# happyReduction_351-happyReduction_351 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - case happyOut282 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftParen) -> - case happyOut147 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn146- (-- Distinguish deriving (Show) from deriving Show (#189)- case fst happy_var_4 of- [ts] -> Deriving (happy_var_1 <^^> happy_var_5 <** [happy_var_1]) happy_var_2 [IParen (happy_var_3 <^^> happy_var_5 <** [happy_var_3,happy_var_5]) ts]- tss -> Deriving (happy_var_1 <^^> happy_var_5 <** happy_var_1:happy_var_3: reverse (snd happy_var_4) ++ [happy_var_5]) happy_var_2 (reverse tss)- ) `HappyStk` happyRest}}}}}--happyReduce_352 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_352 = happyMonadReduce 1# 133# happyReduction_352-happyReduction_352 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut123 happy_x_1 of { happy_var_1 -> - ( checkDeriving (fst happy_var_1) >>= \ds -> return (ds, snd happy_var_1))})- ) (\r -> happyReturn (happyIn147 r))--happyReduce_353 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_353 = happySpecReduce_1 134# happyReduction_353-happyReduction_353 happy_x_1- = case happyOut262 happy_x_1 of { happy_var_1 -> - happyIn148- (IHCon (ann happy_var_1) happy_var_1- )}--happyReduce_354 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_354 = happyMonadReduce 1# 135# happyReduction_354-happyReduction_354 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut150 happy_x_1 of { happy_var_1 -> - ( checkEnabled KindSignatures >> return happy_var_1)})- ) (\r -> happyReturn (happyIn149 r))--happyReduce_355 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_355 = happySpecReduce_1 136# happyReduction_355-happyReduction_355 happy_x_1- = case happyOut151 happy_x_1 of { happy_var_1 -> - happyIn150- (happy_var_1- )}--happyReduce_356 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_356 = happySpecReduce_3 136# happyReduction_356-happyReduction_356 happy_x_3- happy_x_2- happy_x_1- = case happyOut151 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOut150 happy_x_3 of { happy_var_3 -> - happyIn150- (KindFn (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_357 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_357 = happySpecReduce_1 137# happyReduction_357-happyReduction_357 happy_x_1- = case happyOut152 happy_x_1 of { happy_var_1 -> - happyIn151- (happy_var_1- )}--happyReduce_358 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_358 = happySpecReduce_2 137# happyReduction_358-happyReduction_358 happy_x_2- happy_x_1- = case happyOut151 happy_x_1 of { happy_var_1 -> - case happyOut152 happy_x_2 of { happy_var_2 -> - happyIn151- (KindApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_359 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_359 = happySpecReduce_1 138# happyReduction_359-happyReduction_359 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> - happyIn152- (KindStar (nIS happy_var_1)- )}--happyReduce_360 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_360 = happySpecReduce_3 138# happyReduction_360-happyReduction_360 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut150 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn152- (KindParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_361 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_361 = happyMonadReduce 1# 138# happyReduction_361-happyReduction_361 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut153 happy_x_1 of { happy_var_1 -> - ( checkKind happy_var_1 >> return happy_var_1)})- ) (\r -> happyReturn (happyIn152 r))--happyReduce_362 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_362 = happyMonadReduce 1# 138# happyReduction_362-happyReduction_362 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut258 happy_x_1 of { happy_var_1 -> - ( checkEnabled PolyKinds >> return (KindVar (ann happy_var_1) happy_var_1))})- ) (\r -> happyReturn (happyIn152 r))--happyReduce_363 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_363 = happySpecReduce_1 139# happyReduction_363-happyReduction_363 happy_x_1- = case happyOut285 happy_x_1 of { happy_var_1 -> - happyIn153- (KindVar (ann happy_var_1) happy_var_1- )}--happyReduce_364 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_364 = happySpecReduce_2 139# happyReduction_364-happyReduction_364 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> - happyIn153- (let l = happy_var_1 <^^> happy_var_2 in KindVar l (unit_tycon_name l)- )}}--happyReduce_365 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_365 = happyReduce 5# 139# happyReduction_365-happyReduction_365 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut149 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Comma) -> - case happyOut154 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> - happyIn153- (KindTuple (happy_var_1 <^^> happy_var_5 <** (happy_var_1:happy_var_3:reverse (happy_var_5:snd happy_var_4))) (happy_var_2:reverse (fst happy_var_4))- ) `HappyStk` happyRest}}}}}--happyReduce_366 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_366 = happySpecReduce_3 139# happyReduction_366-happyReduction_366 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOut149 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn153- (KindList ((happy_var_1 <^^> happy_var_3) <** [happy_var_1, happy_var_3]) happy_var_2- )}}}--happyReduce_367 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_367 = happySpecReduce_1 140# happyReduction_367-happyReduction_367 happy_x_1- = case happyOut150 happy_x_1 of { happy_var_1 -> - happyIn154- (([happy_var_1], [])- )}--happyReduce_368 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_368 = happySpecReduce_3 140# happyReduction_368-happyReduction_368 happy_x_3- happy_x_2- happy_x_1- = case happyOut150 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut154 happy_x_3 of { happy_var_3 -> - happyIn154- ((happy_var_1 : (fst happy_var_3), happy_var_2 : (snd happy_var_3))- )}}}--happyReduce_369 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_369 = happySpecReduce_0 141# happyReduction_369-happyReduction_369 = happyIn155- ((Nothing,[])- )--happyReduce_370 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_370 = happySpecReduce_2 141# happyReduction_370-happyReduction_370 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> - case happyOut149 happy_x_2 of { happy_var_2 -> - happyIn155- ((Just happy_var_2,[happy_var_1])- )}}--happyReduce_371 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_371 = happySpecReduce_0 142# happyReduction_371-happyReduction_371 = happyIn156- (Nothing- )--happyReduce_372 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_372 = happySpecReduce_2 142# happyReduction_372-happyReduction_372 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> - case happyOut116 happy_x_2 of { happy_var_2 -> - happyIn156- (Just (happy_var_1, happy_var_2)- )}}--happyReduce_373 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_373 = happyMonadReduce 4# 143# happyReduction_373-happyReduction_373 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut158 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( checkClassBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}})- ) (\r -> happyReturn (happyIn157 r))--happyReduce_374 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_374 = happyMonadReduce 4# 143# happyReduction_374-happyReduction_374 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut272 happy_x_2 of { happy_var_2 -> - case happyOut158 happy_x_3 of { happy_var_3 -> - case happyOut273 happy_x_4 of { happy_var_4 -> - ( do { vs <- checkClassBody (fst happy_var_3);- let { l' = if null (fst happy_var_3) then nIS happy_var_4 else (ann . last $ fst happy_var_3) };- return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (nIS happy_var_1 <++> l')) })}}}})- ) (\r -> happyReturn (happyIn157 r))--happyReduce_375 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_375 = happySpecReduce_0 143# happyReduction_375-happyReduction_375 = happyIn157- ((Nothing,[],Nothing)- )--happyReduce_376 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_376 = happyMonadReduce 3# 144# happyReduction_376-happyReduction_376 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut159 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - ( checkRevClsDecls (fst happy_var_2) >>= \cs -> return (cs, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))}}})- ) (\r -> happyReturn (happyIn158 r))--happyReduce_377 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_377 = happySpecReduce_1 144# happyReduction_377-happyReduction_377 happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - happyIn158- (([],reverse happy_var_1)- )}--happyReduce_378 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_378 = happySpecReduce_3 145# happyReduction_378-happyReduction_378 happy_x_3- happy_x_2- happy_x_1- = case happyOut159 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut160 happy_x_3 of { happy_var_3 -> - happyIn159- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_379 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_379 = happySpecReduce_1 145# happyReduction_379-happyReduction_379 happy_x_1- = case happyOut160 happy_x_1 of { happy_var_1 -> - happyIn159- (([happy_var_1],[])- )}--happyReduce_380 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_380 = happySpecReduce_1 146# happyReduction_380-happyReduction_380 happy_x_1- = case happyOut77 happy_x_1 of { happy_var_1 -> - happyIn160- (ClsDecl (ann happy_var_1) happy_var_1- )}--happyReduce_381 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_381 = happyMonadReduce 1# 146# happyReduction_381-happyReduction_381 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut162 happy_x_1 of { happy_var_1 -> - ( checkEnabled TypeFamilies >> return happy_var_1)})- ) (\r -> happyReturn (happyIn160 r))--happyReduce_382 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_382 = happyMonadReduce 2# 146# happyReduction_382-happyReduction_382 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> - case happyOut79 happy_x_2 of { happy_var_2 -> - ( checkEnabled DefaultSignatures >> checkDefSigDef happy_var_2 >>= \(n,t,l) -> return (ClsDefSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1,l]) n t))}})- ) (\r -> happyReturn (happyIn160 r))--happyReduce_383 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_383 = happySpecReduce_0 147# happyReduction_383-happyReduction_383 = happyIn161- ([]- )--happyReduce_384 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_384 = happySpecReduce_1 147# happyReduction_384-happyReduction_384 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> - happyIn161- ([happy_var_1]- )}--happyReduce_385 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_385 = happyMonadReduce 4# 148# happyReduction_385-happyReduction_385 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> - case happyOut107 happy_x_3 of { happy_var_3 -> - case happyOut61 happy_x_4 of { happy_var_4 -> - ( do { (cs,dh) <- checkDataHeader happy_var_3;- return (ClsDataFam (nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) happy_var_4 <** [happy_var_1]) cs dh happy_var_4) })}}})- ) (\r -> happyReturn (happyIn162 r))--happyReduce_386 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_386 = happyMonadReduce 3# 148# happyReduction_386-happyReduction_386 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut107 happy_x_2 of { happy_var_2 -> - case happyOut64 happy_x_3 of { happy_var_3 -> - ( mkAssocType happy_var_1 happy_var_2 happy_var_3)}}})- ) (\r -> happyReturn (happyIn162 r))--happyReduce_387 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_387 = happyMonadReduce 4# 148# happyReduction_387-happyReduction_387 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut107 happy_x_3 of { happy_var_3 -> - case happyOut63 happy_x_4 of { happy_var_4 -> - ( do { dh <- checkSimpleType happy_var_3;- return (ClsTyFam (nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) (fst happy_var_4)- <+?> (fmap ann) (snd happy_var_4)- <** [happy_var_1]) dh (fst happy_var_4) (snd happy_var_4)) })}}})- ) (\r -> happyReturn (happyIn162 r))--happyReduce_388 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_388 = happySpecReduce_3 148# happyReduction_388-happyReduction_388 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> - case happyOut72 happy_x_3 of { happy_var_3 -> - happyIn162- (ClsTyDef (nIS happy_var_1 <++> ann happy_var_3 <** [happy_var_1,happy_var_2]) happy_var_3- )}}}--happyReduce_389 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_389 = happyMonadReduce 4# 149# happyReduction_389-happyReduction_389 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut164 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( checkInstBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}})- ) (\r -> happyReturn (happyIn163 r))--happyReduce_390 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_390 = happyMonadReduce 4# 149# happyReduction_390-happyReduction_390 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut272 happy_x_2 of { happy_var_2 -> - case happyOut164 happy_x_3 of { happy_var_3 -> - case happyOut273 happy_x_4 of { happy_var_4 -> - ( checkInstBody (fst happy_var_3) >>= \vs -> return (Just vs, happy_var_1:happy_var_2: snd happy_var_3 ++ [happy_var_4], Just (happy_var_1 <^^> happy_var_4)))}}}})- ) (\r -> happyReturn (happyIn163 r))--happyReduce_391 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_391 = happySpecReduce_0 149# happyReduction_391-happyReduction_391 = happyIn163- ((Nothing, [], Nothing)- )--happyReduce_392 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_392 = happyMonadReduce 3# 150# happyReduction_392-happyReduction_392 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut165 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - ( checkRevInstDecls (fst happy_var_2) >>= \is -> return (is, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))}}})- ) (\r -> happyReturn (happyIn164 r))--happyReduce_393 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_393 = happySpecReduce_1 150# happyReduction_393-happyReduction_393 happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - happyIn164- (([],reverse happy_var_1)- )}--happyReduce_394 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_394 = happySpecReduce_3 151# happyReduction_394-happyReduction_394 happy_x_3- happy_x_2- happy_x_1- = case happyOut165 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut166 happy_x_3 of { happy_var_3 -> - happyIn165- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_395 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_395 = happySpecReduce_1 151# happyReduction_395-happyReduction_395 happy_x_1- = case happyOut166 happy_x_1 of { happy_var_1 -> - happyIn165- (([happy_var_1],[])- )}--happyReduce_396 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_396 = happySpecReduce_1 152# happyReduction_396-happyReduction_396 happy_x_1- = case happyOut168 happy_x_1 of { happy_var_1 -> - happyIn166- (InsDecl (ann happy_var_1) happy_var_1- )}--happyReduce_397 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_397 = happyMonadReduce 1# 152# happyReduction_397-happyReduction_397 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut167 happy_x_1 of { happy_var_1 -> - ( checkEnabled TypeFamilies >> return happy_var_1)})- ) (\r -> happyReturn (happyIn166 r))--happyReduce_398 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_398 = happySpecReduce_1 152# happyReduction_398-happyReduction_398 happy_x_1- = case happyOut81 happy_x_1 of { happy_var_1 -> - happyIn166- (InsDecl (ann happy_var_1) happy_var_1- )}--happyReduce_399 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_399 = happyMonadReduce 1# 152# happyReduction_399-happyReduction_399 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut80 happy_x_1 of { happy_var_1 -> - ( checkEnabled InstanceSigs >> return (InsDecl (ann happy_var_1) happy_var_1))})- ) (\r -> happyReturn (happyIn166 r))--happyReduce_400 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_400 = happyMonadReduce 4# 153# happyReduction_400-happyReduction_400 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - case happyOut104 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut119 happy_x_4 of { happy_var_4 -> - ( do { -- no checkSimpleType happy_var_4 since dtype may contain type patterns- return (InsType (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4) })}}}})- ) (\r -> happyReturn (happyIn167 r))--happyReduce_401 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_401 = happyMonadReduce 4# 153# happyReduction_401-happyReduction_401 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOut119 happy_x_2 of { happy_var_2 -> - case happyOut136 happy_x_3 of { happy_var_3 -> - case happyOut144 happy_x_4 of { happy_var_4 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4;- let {(ds,ss,minf) = happy_var_3};- checkDataOrNew happy_var_1 ds;- return (InsData (happy_var_1 <> happy_var_2 <+?> minf <+?> fmap ann (listToMaybe happy_var_4) <** ss ) happy_var_1 happy_var_2 (reverse ds) (reverse happy_var_4)) })}}}})- ) (\r -> happyReturn (happyIn167 r))--happyReduce_402 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_402 = happyMonadReduce 5# 153# happyReduction_402-happyReduction_402 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut73 happy_x_1 of { happy_var_1 -> - case happyOut119 happy_x_2 of { happy_var_2 -> - case happyOut155 happy_x_3 of { happy_var_3 -> - case happyOut132 happy_x_4 of { happy_var_4 -> - case happyOut144 happy_x_5 of { happy_var_5 -> - ( do { -- (cs,c,t) <- checkDataHeader happy_var_4;- let { (gs,ss,minf) = happy_var_4 } ;- checkDataOrNewG happy_var_1 gs;- return $ InsGData (ann happy_var_1 <+?> minf <+?> fmap ann (listToMaybe happy_var_5) <** (snd happy_var_3 ++ ss)) happy_var_1 happy_var_2 (fst happy_var_3) (reverse gs) (reverse happy_var_5) })}}}}})- ) (\r -> happyReturn (happyIn167 r))--happyReduce_403 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_403 = happyMonadReduce 4# 154# happyReduction_403-happyReduction_403 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut178 happy_x_1 of { happy_var_1 -> - case happyOut170 happy_x_2 of { happy_var_2 -> - case happyOut171 happy_x_3 of { happy_var_3 -> - case happyOut169 happy_x_4 of { happy_var_4 -> - ( checkValDef ((happy_var_1 <> happy_var_3 <+?> (fmap ann) (fst happy_var_4)) <** (snd happy_var_4)) happy_var_1 happy_var_2 happy_var_3 (fst happy_var_4))}}}})- ) (\r -> happyReturn (happyIn168 r))--happyReduce_404 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_404 = happyMonadReduce 4# 154# happyReduction_404-happyReduction_404 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - case happyOut187 happy_x_2 of { happy_var_2 -> - case happyOut171 happy_x_3 of { happy_var_3 -> - case happyOut169 happy_x_4 of { happy_var_4 -> - ( do { checkEnabled BangPatterns ;- let { l = nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1] };- p <- checkPattern (BangPat l happy_var_2);- return $ PatBind (p <> happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** snd happy_var_4)- p happy_var_3 (fst happy_var_4) })}}}})- ) (\r -> happyReturn (happyIn168 r))--happyReduce_405 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_405 = happySpecReduce_2 155# happyReduction_405-happyReduction_405 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut88 happy_x_2 of { happy_var_2 -> - happyIn169- ((Just happy_var_2, [happy_var_1])- )}}--happyReduce_406 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_406 = happySpecReduce_0 155# happyReduction_406-happyReduction_406 = happyIn169- ((Nothing, [])- )--happyReduce_407 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_407 = happyMonadReduce 2# 156# happyReduction_407-happyReduction_407 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> - case happyOut119 happy_x_2 of { happy_var_2 -> - ( checkEnabled ScopedTypeVariables >> return (Just (happy_var_2, happy_var_1)))}})- ) (\r -> happyReturn (happyIn170 r))--happyReduce_408 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_408 = happySpecReduce_0 156# happyReduction_408-happyReduction_408 = happyIn170- (Nothing- )--happyReduce_409 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_409 = happySpecReduce_2 157# happyReduction_409-happyReduction_409 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> - case happyOut174 happy_x_2 of { happy_var_2 -> - happyIn171- (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_410 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_410 = happySpecReduce_1 157# happyReduction_410-happyReduction_410 happy_x_1- = case happyOut172 happy_x_1 of { happy_var_1 -> - happyIn171- (GuardedRhss (snd happy_var_1) (reverse $ fst happy_var_1)- )}--happyReduce_411 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_411 = happySpecReduce_2 158# happyReduction_411-happyReduction_411 happy_x_2- happy_x_1- = case happyOut172 happy_x_1 of { happy_var_1 -> - case happyOut173 happy_x_2 of { happy_var_2 -> - happyIn172- ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)- )}}--happyReduce_412 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_412 = happySpecReduce_1 158# happyReduction_412-happyReduction_412 happy_x_1- = case happyOut173 happy_x_1 of { happy_var_1 -> - happyIn172- (([happy_var_1],ann happy_var_1)- )}--happyReduce_413 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_413 = happyMonadReduce 4# 159# happyReduction_413-happyReduction_413 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> - case happyOut214 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut174 happy_x_4 of { happy_var_4 -> - ( do { checkPatternGuards (fst happy_var_2);- return $ GuardedRhs (nIS happy_var_1 <++> ann happy_var_4 <** (happy_var_1:snd happy_var_2 ++ [happy_var_3])) (reverse (fst happy_var_2)) happy_var_4 })}}}})- ) (\r -> happyReturn (happyIn173 r))--happyReduce_414 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_414 = happyMonadReduce 1# 160# happyReduction_414-happyReduction_414 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut175 happy_x_1 of { happy_var_1 -> - ( checkExpr happy_var_1)})- ) (\r -> happyReturn (happyIn174 r))--happyReduce_415 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_415 = happySpecReduce_3 161# happyReduction_415-happyReduction_415 happy_x_3- happy_x_2- happy_x_1- = case happyOut178 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> - case happyOut119 happy_x_3 of { happy_var_3 -> - happyIn175- (ExpTypeSig (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_416 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_416 = happySpecReduce_1 161# happyReduction_416-happyReduction_416 happy_x_1- = case happyOut176 happy_x_1 of { happy_var_1 -> - happyIn175- (happy_var_1- )}--happyReduce_417 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_417 = happySpecReduce_2 161# happyReduction_417-happyReduction_417 happy_x_2- happy_x_1- = case happyOut178 happy_x_1 of { happy_var_1 -> - case happyOut254 happy_x_2 of { happy_var_2 -> - happyIn175- (PostOp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_418 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_418 = happySpecReduce_3 161# happyReduction_418-happyReduction_418 happy_x_3- happy_x_2- happy_x_1- = case happyOut178 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrowTail) -> - case happyOut175 happy_x_3 of { happy_var_3 -> - happyIn175- (LeftArrApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_419 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_419 = happySpecReduce_3 161# happyReduction_419-happyReduction_419 happy_x_3- happy_x_2- happy_x_1- = case happyOut178 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrowTail) -> - case happyOut175 happy_x_3 of { happy_var_3 -> - happyIn175- (RightArrApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_420 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_420 = happySpecReduce_3 161# happyReduction_420-happyReduction_420 happy_x_3- happy_x_2- happy_x_1- = case happyOut178 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftDblArrowTail) -> - case happyOut175 happy_x_3 of { happy_var_3 -> - happyIn175- (LeftArrHighApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_421 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_421 = happySpecReduce_3 161# happyReduction_421-happyReduction_421 happy_x_3- happy_x_2- happy_x_1- = case happyOut178 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightDblArrowTail) -> - case happyOut175 happy_x_3 of { happy_var_3 -> - happyIn175- (RightArrHighApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_422 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_422 = happySpecReduce_1 162# happyReduction_422-happyReduction_422 happy_x_1- = case happyOut177 happy_x_1 of { happy_var_1 -> - happyIn176- (happy_var_1- )}--happyReduce_423 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_423 = happySpecReduce_1 162# happyReduction_423-happyReduction_423 happy_x_1- = case happyOut178 happy_x_1 of { happy_var_1 -> - happyIn176- (happy_var_1- )}--happyReduce_424 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_424 = happySpecReduce_3 163# happyReduction_424-happyReduction_424 happy_x_3- happy_x_2- happy_x_1- = case happyOut178 happy_x_1 of { happy_var_1 -> - case happyOut254 happy_x_2 of { happy_var_2 -> - case happyOut179 happy_x_3 of { happy_var_3 -> - happyIn177- (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_425 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_425 = happySpecReduce_1 163# happyReduction_425-happyReduction_425 happy_x_1- = case happyOut179 happy_x_1 of { happy_var_1 -> - happyIn177- (happy_var_1- )}--happyReduce_426 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_426 = happySpecReduce_3 164# happyReduction_426-happyReduction_426 happy_x_3- happy_x_2- happy_x_1- = case happyOut178 happy_x_1 of { happy_var_1 -> - case happyOut254 happy_x_2 of { happy_var_2 -> - case happyOut182 happy_x_3 of { happy_var_3 -> - happyIn178- (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3- )}}}--happyReduce_427 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_427 = happySpecReduce_1 164# happyReduction_427-happyReduction_427 happy_x_1- = case happyOut182 happy_x_1 of { happy_var_1 -> - happyIn178- (happy_var_1- )}--happyReduce_428 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_428 = happyReduce 4# 165# happyReduction_428-happyReduction_428 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Backslash) -> - case happyOut185 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> - case happyOut175 happy_x_4 of { happy_var_4 -> - happyIn179- (Lambda (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) (reverse happy_var_2) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_429 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_429 = happyReduce 4# 165# happyReduction_429-happyReduction_429 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> - case happyOut88 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_In) -> - case happyOut175 happy_x_4 of { happy_var_4 -> - happyIn179- (Let (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_430 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_430 = happyReduce 8# 165# happyReduction_430-happyReduction_430 (happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> - case happyOut175 happy_x_2 of { happy_var_2 -> - case happyOut180 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 KW_Then) -> - case happyOut175 happy_x_5 of { happy_var_5 -> - case happyOut180 happy_x_6 of { happy_var_6 -> - case happyOutTok happy_x_7 of { (Loc happy_var_7 KW_Else) -> - case happyOut175 happy_x_8 of { happy_var_8 -> - happyIn179- (If (nIS happy_var_1 <++> ann happy_var_8 <** (happy_var_1:happy_var_3 ++ happy_var_4:happy_var_6 ++ [happy_var_7])) happy_var_2 happy_var_5 happy_var_8- ) `HappyStk` happyRest}}}}}}}}--happyReduce_431 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_431 = happyMonadReduce 2# 165# happyReduction_431-happyReduction_431 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> - case happyOut225 happy_x_2 of { happy_var_2 -> - ( checkEnabled MultiWayIf >>- let (alts, inf, ss) = happy_var_2- in return (MultiIf (nIS happy_var_1 <++> inf <** (happy_var_1:ss)) alts))}})- ) (\r -> happyReturn (happyIn179 r))--happyReduce_432 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_432 = happyReduce 4# 165# happyReduction_432-happyReduction_432 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Proc) -> - case happyOut186 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> - case happyOut175 happy_x_4 of { happy_var_4 -> - happyIn179- (Proc (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_433 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_433 = happySpecReduce_1 165# happyReduction_433-happyReduction_433 happy_x_1- = case happyOut183 happy_x_1 of { happy_var_1 -> - happyIn179- (happy_var_1- )}--happyReduce_434 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_434 = happyMonadReduce 1# 166# happyReduction_434-happyReduction_434 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> - ( checkEnabled DoAndIfThenElse >> return [happy_var_1])})- ) (\r -> happyReturn (happyIn180 r))--happyReduce_435 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_435 = happySpecReduce_0 166# happyReduction_435-happyReduction_435 = happyIn180- ([]- )--happyReduce_436 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_436 = happySpecReduce_1 167# happyReduction_436-happyReduction_436 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> - happyIn181- ([happy_var_1]- )}--happyReduce_437 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_437 = happySpecReduce_0 167# happyReduction_437-happyReduction_437 = happyIn181- ([]- )--happyReduce_438 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_438 = happyReduce 4# 168# happyReduction_438-happyReduction_438 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Case) -> - case happyOut175 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_Of) -> - case happyOut217 happy_x_4 of { happy_var_4 -> - happyIn182- (let (als, inf, ss) = happy_var_4 in Case (nIS happy_var_1 <++> inf <** (happy_var_1:happy_var_3:ss)) happy_var_2 als- ) `HappyStk` happyRest}}}}--happyReduce_439 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_439 = happyMonadReduce 3# 168# happyReduction_439-happyReduction_439 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 Backslash) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Case) -> - case happyOut217 happy_x_3 of { happy_var_3 -> - ( do { checkEnabled LambdaCase ;- let { (als, inf, ss) = happy_var_3 } ;- return (LCase (nIS happy_var_1 <++> inf <** (happy_var_1:happy_var_2:ss)) als) })}}})- ) (\r -> happyReturn (happyIn182 r))--happyReduce_440 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_440 = happySpecReduce_2 168# happyReduction_440-happyReduction_440 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> - case happyOut184 happy_x_2 of { happy_var_2 -> - happyIn182- (NegApp (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_441 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_441 = happySpecReduce_2 168# happyReduction_441-happyReduction_441 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> - case happyOut228 happy_x_2 of { happy_var_2 -> - happyIn182- (let (sts, inf, ss) = happy_var_2 in Do (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts- )}}--happyReduce_442 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_442 = happySpecReduce_2 168# happyReduction_442-happyReduction_442 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> - case happyOut228 happy_x_2 of { happy_var_2 -> - happyIn182- (let (sts, inf, ss) = happy_var_2 in MDo (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts- )}}--happyReduce_443 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_443 = happySpecReduce_1 168# happyReduction_443-happyReduction_443 happy_x_1- = case happyOut184 happy_x_1 of { happy_var_1 -> - happyIn182- (happy_var_1- )}--happyReduce_444 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_444 = happyReduce 4# 169# happyReduction_444-happyReduction_444 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 CORE) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - case happyOut175 happy_x_4 of { happy_var_4 -> - happyIn183- (let Loc l (StringTok (s,_)) = happy_var_2 in CorePragma (nIS happy_var_1 <++> ann happy_var_4 <** [l,happy_var_3]) s happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_445 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_445 = happyReduce 4# 169# happyReduction_445-happyReduction_445 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SCC) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> - case happyOut175 happy_x_4 of { happy_var_4 -> - happyIn183- (let Loc l (StringTok (s,_)) = happy_var_2 in SCCPragma (nIS happy_var_1 <++> ann happy_var_4 <** [l,happy_var_3]) s happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_446 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_446 = happyReduce 11# 169# happyReduction_446-happyReduction_446 (happy_x_11 `HappyStk`- happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 GENERATED) -> - case happyOutTok happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 Colon) -> - case happyOutTok happy_x_5 of { happy_var_5 -> - case happyOutTok happy_x_6 of { (Loc happy_var_6 Minus) -> - case happyOutTok happy_x_7 of { happy_var_7 -> - case happyOutTok happy_x_8 of { (Loc happy_var_8 Colon) -> - case happyOutTok happy_x_9 of { happy_var_9 -> - case happyOutTok happy_x_10 of { (Loc happy_var_10 PragmaEnd) -> - case happyOut175 happy_x_11 of { happy_var_11 -> - happyIn183- (let { Loc l0 (StringTok (s,_)) = happy_var_2;- Loc l1 (IntTok (i1,_)) = happy_var_3;- Loc l2 (IntTok (i2,_)) = happy_var_5;- Loc l3 (IntTok (i3,_)) = happy_var_7;- Loc l4 (IntTok (i4,_)) = happy_var_9}- in GenPragma (nIS happy_var_1 <++> ann happy_var_11 <** [happy_var_1,l0,l1,happy_var_4,l2,happy_var_6,l3,happy_var_8,l4,happy_var_10])- s (fromInteger i1, fromInteger i2)- (fromInteger i3, fromInteger i4) happy_var_11- ) `HappyStk` happyRest}}}}}}}}}}}--happyReduce_447 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_447 = happySpecReduce_2 170# happyReduction_447-happyReduction_447 happy_x_2- happy_x_1- = case happyOut184 happy_x_1 of { happy_var_1 -> - case happyOut187 happy_x_2 of { happy_var_2 -> - happyIn184- (App (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_448 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_448 = happySpecReduce_1 170# happyReduction_448-happyReduction_448 happy_x_1- = case happyOut187 happy_x_1 of { happy_var_1 -> - happyIn184- (happy_var_1- )}--happyReduce_449 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_449 = happySpecReduce_2 171# happyReduction_449-happyReduction_449 happy_x_2- happy_x_1- = case happyOut185 happy_x_1 of { happy_var_1 -> - case happyOut186 happy_x_2 of { happy_var_2 -> - happyIn185- (happy_var_2 : happy_var_1- )}}--happyReduce_450 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_450 = happySpecReduce_1 171# happyReduction_450-happyReduction_450 happy_x_1- = case happyOut186 happy_x_1 of { happy_var_1 -> - happyIn185- ([happy_var_1]- )}--happyReduce_451 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_451 = happyMonadReduce 1# 172# happyReduction_451-happyReduction_451 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut187 happy_x_1 of { happy_var_1 -> - ( checkPattern happy_var_1)})- ) (\r -> happyReturn (happyIn186 r))--happyReduce_452 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_452 = happyMonadReduce 2# 172# happyReduction_452-happyReduction_452 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - case happyOut187 happy_x_2 of { happy_var_2 -> - ( checkPattern (BangPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2))}})- ) (\r -> happyReturn (happyIn186 r))--happyReduce_453 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_453 = happyMonadReduce 3# 173# happyReduction_453-happyReduction_453 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut243 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 At) -> - case happyOut187 happy_x_3 of { happy_var_3 -> - ( do { n <- checkUnQual happy_var_1;- return (AsPat (happy_var_1 <> happy_var_3 <** [happy_var_2]) n happy_var_3) })}}})- ) (\r -> happyReturn (happyIn187 r))--happyReduce_454 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_454 = happyMonadReduce 3# 173# happyReduction_454-happyReduction_454 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut243 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RPCAt) -> - case happyOut187 happy_x_3 of { happy_var_3 -> - ( do { n <- checkUnQual happy_var_1;- return (CAsRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) n happy_var_3) })}}})- ) (\r -> happyReturn (happyIn187 r))--happyReduce_455 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_455 = happySpecReduce_2 173# happyReduction_455-happyReduction_455 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Tilde) -> - case happyOut187 happy_x_2 of { happy_var_2 -> - happyIn187- (IrrPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_456 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_456 = happySpecReduce_2 173# happyReduction_456-happyReduction_456 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 TApp) -> - case happyOut109 happy_x_2 of { happy_var_2 -> - happyIn187- (TypeApp (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_457 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_457 = happySpecReduce_1 173# happyReduction_457-happyReduction_457 happy_x_1- = case happyOut188 happy_x_1 of { happy_var_1 -> - happyIn187- (happy_var_1- )}--happyReduce_458 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_458 = happyMonadReduce 3# 174# happyReduction_458-happyReduction_458 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut188 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - ( liftM (amap (const (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]))) $ mkRecConstrOrUpdate happy_var_1 [])}}})- ) (\r -> happyReturn (happyIn188 r))--happyReduce_459 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_459 = happyMonadReduce 4# 174# happyReduction_459-happyReduction_459 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut188 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut232 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( liftM (amap (const (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2:snd happy_var_3 ++ [happy_var_4]))))- $ mkRecConstrOrUpdate happy_var_1 (fst happy_var_3))}}}})- ) (\r -> happyReturn (happyIn188 r))--happyReduce_460 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_460 = happySpecReduce_1 174# happyReduction_460-happyReduction_460 happy_x_1- = case happyOut189 happy_x_1 of { happy_var_1 -> - happyIn188- (happy_var_1- )}--happyReduce_461 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_461 = happySpecReduce_1 175# happyReduction_461-happyReduction_461 happy_x_1- = case happyOut244 happy_x_1 of { happy_var_1 -> - happyIn189- (IPVar (ann happy_var_1) happy_var_1- )}--happyReduce_462 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_462 = happySpecReduce_1 175# happyReduction_462-happyReduction_462 happy_x_1- = case happyOut257 happy_x_1 of { happy_var_1 -> - happyIn189- (happy_var_1- )}--happyReduce_463 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_463 = happySpecReduce_1 175# happyReduction_463-happyReduction_463 happy_x_1- = case happyOut243 happy_x_1 of { happy_var_1 -> - happyIn189- (Var (ann happy_var_1) happy_var_1- )}--happyReduce_464 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_464 = happySpecReduce_1 175# happyReduction_464-happyReduction_464 happy_x_1- = case happyOut237 happy_x_1 of { happy_var_1 -> - happyIn189- (happy_var_1- )}--happyReduce_465 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_465 = happySpecReduce_1 175# happyReduction_465-happyReduction_465 happy_x_1- = case happyOut271 happy_x_1 of { happy_var_1 -> - happyIn189- (Lit (ann happy_var_1) happy_var_1- )}--happyReduce_466 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_466 = happySpecReduce_3 175# happyReduction_466-happyReduction_466 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut196 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn189- (Paren (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_467 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_467 = happyMonadReduce 3# 175# happyReduction_467-happyReduction_467 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut190 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - ( do { e <- mkSumOrTuple Boxed (happy_var_1 <^^> happy_var_3) (snd happy_var_2)- ; return $ amap (\l -> l <** [happy_var_1] ++ fst happy_var_2 ++ [happy_var_3]) e })}}})- ) (\r -> happyReturn (happyIn189 r))--happyReduce_468 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_468 = happySpecReduce_3 175# happyReduction_468-happyReduction_468 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut196 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn189- (TupleSection (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) Unboxed [Just happy_var_2]- )}}}--happyReduce_469 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_469 = happyMonadReduce 3# 175# happyReduction_469-happyReduction_469 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut190 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - ( do { e <- mkSumOrTuple Unboxed (happy_var_1 <^^> happy_var_3) (snd happy_var_2)- ; return $ amap (\l -> l <** [happy_var_1] ++ fst happy_var_2 ++ [happy_var_3]) e })}}})- ) (\r -> happyReturn (happyIn189 r))--happyReduce_470 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_470 = happySpecReduce_3 175# happyReduction_470-happyReduction_470 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOut208 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> - happyIn189- (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])- )}}}--happyReduce_471 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_471 = happySpecReduce_3 175# happyReduction_471-happyReduction_471 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 ParArrayLeftSquare) -> - case happyOut216 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 ParArrayRightSquare) -> - happyIn189- (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])- )}}}--happyReduce_472 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_472 = happyMonadReduce 3# 175# happyReduction_472-happyReduction_472 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut198 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - ( checkEnabled RegularPatterns >> return (Paren (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2))}}})- ) (\r -> happyReturn (happyIn189 r))--happyReduce_473 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_473 = happySpecReduce_3 175# happyReduction_473-happyReduction_473 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 RPGuardOpen) -> - case happyOut197 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RPGuardClose) -> - happyIn189- (SeqRP (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (snd happy_var_2) ++ [happy_var_3])) $ reverse (fst happy_var_2)- )}}}--happyReduce_474 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_474 = happyReduce 5# 175# happyReduction_474-happyReduction_474 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 RPGuardOpen) -> - case happyOut175 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Bar) -> - case happyOut214 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RPGuardClose) -> - happyIn189- (GuardRP (happy_var_1 <^^> happy_var_5 <** (happy_var_1:happy_var_3 : snd happy_var_4 ++ [happy_var_5])) happy_var_2 $ (reverse $ fst happy_var_4)- ) `HappyStk` happyRest}}}}}--happyReduce_475 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_475 = happySpecReduce_1 175# happyReduction_475-happyReduction_475 happy_x_1- = case happyOut199 happy_x_1 of { happy_var_1 -> - happyIn189- (happy_var_1- )}--happyReduce_476 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_476 = happySpecReduce_1 175# happyReduction_476-happyReduction_476 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn189- (let Loc l (THIdEscape s) = happy_var_1 in SpliceExp (nIS l) $ IdSplice (nIS l) s- )}--happyReduce_477 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_477 = happySpecReduce_3 175# happyReduction_477-happyReduction_477 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THParenEscape) -> - case happyOut174 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn189- (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in SpliceExp l $ ParenSplice l happy_var_2- )}}}--happyReduce_478 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_478 = happySpecReduce_3 175# happyReduction_478-happyReduction_478 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THExpQuote) -> - case happyOut174 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> - happyIn189- (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in BracketExp l $ ExpBracket l happy_var_2- )}}}--happyReduce_479 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_479 = happyMonadReduce 3# 175# happyReduction_479-happyReduction_479 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 THPatQuote) -> - case happyOut176 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> - ( do { p <- checkPattern happy_var_2;- let {l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) };- return $ BracketExp l $ PatBracket l p })}}})- ) (\r -> happyReturn (happyIn189 r))--happyReduce_480 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_480 = happySpecReduce_3 175# happyReduction_480-happyReduction_480 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THTypQuote) -> - case happyOut119 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> - happyIn189- (let l = happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3] in BracketExp l $ TypeBracket l happy_var_2- )}}}--happyReduce_481 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_481 = happyReduce 5# 175# happyReduction_481-happyReduction_481 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THDecQuote) -> - case happyOut272 happy_x_2 of { happy_var_2 -> - case happyOut58 happy_x_3 of { happy_var_3 -> - case happyOut273 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 THCloseQuote) -> - happyIn189- (let l = happy_var_1 <^^> happy_var_5 <** (happy_var_1:snd happy_var_3 ++ [happy_var_5])- in BracketExp l $ DeclBracket (happy_var_1 <^^> happy_var_5 <** (happy_var_2:snd happy_var_3 ++ [happy_var_4,happy_var_5])) (fst happy_var_3)- ) `HappyStk` happyRest}}}}}--happyReduce_482 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_482 = happySpecReduce_3 175# happyReduction_482-happyReduction_482 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn189- (let {l1 = happy_var_1 <^^> happy_var_3 <** [happy_var_1];- l2 = happy_var_2 <^^> happy_var_3 <** [happy_var_2,happy_var_3];}- in VarQuote l1 (unit_con_name l2)- )}}}--happyReduce_483 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_483 = happySpecReduce_2 175# happyReduction_483-happyReduction_483 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut243 happy_x_2 of { happy_var_2 -> - happyIn189- (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_484 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_484 = happySpecReduce_2 175# happyReduction_484-happyReduction_484 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> - case happyOut247 happy_x_2 of { happy_var_2 -> - happyIn189- (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_485 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_485 = happySpecReduce_2 175# happyReduction_485-happyReduction_485 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THTyQuote) -> - case happyOut286 happy_x_2 of { happy_var_2 -> - happyIn189- (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) (UnQual (ann happy_var_2) happy_var_2)- )}}--happyReduce_486 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_486 = happySpecReduce_2 175# happyReduction_486-happyReduction_486 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 THTyQuote) -> - case happyOut116 happy_x_2 of { happy_var_2 -> - happyIn189- (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_487 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_487 = happySpecReduce_1 175# happyReduction_487-happyReduction_487 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn189- (let Loc l (THQuasiQuote (n,q)) = happy_var_1 in QuasiQuote (nIS l) n q- )}--happyReduce_488 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_488 = happySpecReduce_2 176# happyReduction_488-happyReduction_488 happy_x_2- happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - case happyOut191 happy_x_2 of { happy_var_2 -> - happyIn190- ((fst happy_var_2, STuple (Just happy_var_1 : snd happy_var_2))- )}}--happyReduce_489 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_489 = happySpecReduce_2 176# happyReduction_489-happyReduction_489 happy_x_2- happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - case happyOut194 happy_x_2 of { happy_var_2 -> - happyIn190- ((happy_var_2, SSum 0 (length happy_var_2) happy_var_1)- )}}--happyReduce_490 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_490 = happySpecReduce_2 176# happyReduction_490-happyReduction_490 happy_x_2- happy_x_1- = case happyOut193 happy_x_1 of { happy_var_1 -> - case happyOut192 happy_x_2 of { happy_var_2 -> - happyIn190- ((happy_var_1 ++ (fst happy_var_2), STuple ((map (const Nothing) happy_var_1) ++ snd happy_var_2))- )}}--happyReduce_491 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_491 = happySpecReduce_3 176# happyReduction_491-happyReduction_491 happy_x_3- happy_x_2- happy_x_1- = case happyOut194 happy_x_1 of { happy_var_1 -> - case happyOut196 happy_x_2 of { happy_var_2 -> - case happyOut195 happy_x_3 of { happy_var_3 -> - happyIn190- ((happy_var_1 ++ happy_var_3, SSum (length happy_var_1) (length happy_var_3) happy_var_2)- )}}}--happyReduce_492 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_492 = happySpecReduce_2 177# happyReduction_492-happyReduction_492 happy_x_2- happy_x_1- = case happyOut193 happy_x_1 of { happy_var_1 -> - case happyOut192 happy_x_2 of { happy_var_2 -> - happyIn191- ((reverse happy_var_1 ++ fst happy_var_2, map (const Nothing) (tail happy_var_1) ++ snd happy_var_2)- )}}--happyReduce_493 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_493 = happySpecReduce_2 178# happyReduction_493-happyReduction_493 happy_x_2- happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - case happyOut191 happy_x_2 of { happy_var_2 -> - happyIn192- ((fst happy_var_2, Just happy_var_1 : snd happy_var_2)- )}}--happyReduce_494 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_494 = happySpecReduce_1 178# happyReduction_494-happyReduction_494 happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - happyIn192- (([], [Just happy_var_1])- )}--happyReduce_495 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_495 = happySpecReduce_0 178# happyReduction_495-happyReduction_495 = happyIn192- (([], [Nothing])- )--happyReduce_496 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_496 = happySpecReduce_2 179# happyReduction_496-happyReduction_496 happy_x_2- happy_x_1- = case happyOut193 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - happyIn193- (happy_var_2 : happy_var_1- )}}--happyReduce_497 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_497 = happySpecReduce_1 179# happyReduction_497-happyReduction_497 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Comma) -> - happyIn193- ([happy_var_1]- )}--happyReduce_498 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_498 = happySpecReduce_2 180# happyReduction_498-happyReduction_498 happy_x_2- happy_x_1- = case happyOut194 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - happyIn194- (happy_var_2 : happy_var_1- )}}--happyReduce_499 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_499 = happySpecReduce_1 180# happyReduction_499-happyReduction_499 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> - happyIn194- ([happy_var_1]- )}--happyReduce_500 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_500 = happySpecReduce_1 181# happyReduction_500-happyReduction_500 happy_x_1- = case happyOut194 happy_x_1 of { happy_var_1 -> - happyIn195- (happy_var_1- )}--happyReduce_501 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_501 = happySpecReduce_0 181# happyReduction_501-happyReduction_501 = happyIn195- ([]- )--happyReduce_502 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_502 = happySpecReduce_1 182# happyReduction_502-happyReduction_502 happy_x_1- = case happyOut175 happy_x_1 of { happy_var_1 -> - happyIn196- (happy_var_1- )}--happyReduce_503 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_503 = happySpecReduce_2 182# happyReduction_503-happyReduction_503 happy_x_2- happy_x_1- = case happyOut255 happy_x_1 of { happy_var_1 -> - case happyOut176 happy_x_2 of { happy_var_2 -> - happyIn196- (PreOp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2- )}}--happyReduce_504 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_504 = happyMonadReduce 3# 182# happyReduction_504-happyReduction_504 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut175 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> - case happyOut224 happy_x_3 of { happy_var_3 -> - ( do {checkEnabled ViewPatterns;- return $ ViewPat (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3})}}})- ) (\r -> happyReturn (happyIn196 r))--happyReduce_505 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_505 = happySpecReduce_3 183# happyReduction_505-happyReduction_505 happy_x_3- happy_x_2- happy_x_1- = case happyOut197 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut175 happy_x_3 of { happy_var_3 -> - happyIn197- ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)- )}}}--happyReduce_506 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_506 = happySpecReduce_1 183# happyReduction_506-happyReduction_506 happy_x_1- = case happyOut175 happy_x_1 of { happy_var_1 -> - happyIn197- (([happy_var_1],[])- )}--happyReduce_507 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_507 = happySpecReduce_3 184# happyReduction_507-happyReduction_507 happy_x_3- happy_x_2- happy_x_1- = case happyOut175 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut198 happy_x_3 of { happy_var_3 -> - happyIn198- (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_508 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_508 = happySpecReduce_3 184# happyReduction_508-happyReduction_508 happy_x_3- happy_x_2- happy_x_1- = case happyOut175 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut175 happy_x_3 of { happy_var_3 -> - happyIn198- (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_509 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_509 = happyMonadReduce 10# 185# happyReduction_509-happyReduction_509 (happy_x_10 `HappyStk`- happy_x_9 `HappyStk`- happy_x_8 `HappyStk`- happy_x_7 `HappyStk`- happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> - case happyOut202 happy_x_2 of { happy_var_2 -> - case happyOut205 happy_x_3 of { happy_var_3 -> - case happyOut207 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XStdTagClose) -> - case happyOut200 happy_x_6 of { happy_var_6 -> - case happyOut181 happy_x_7 of { happy_var_7 -> - case happyOutTok happy_x_8 of { (Loc happy_var_8 XCloseTagOpen) -> - case happyOut202 happy_x_9 of { happy_var_9 -> - case happyOutTok happy_x_10 of { (Loc happy_var_10 XStdTagClose) -> - ( do { n <- checkEqNames happy_var_2 happy_var_9;- let { cn = reverse happy_var_6;- as = reverse happy_var_3;- l = happy_var_1 <^^> happy_var_10 <** [happy_var_1,happy_var_5] ++ happy_var_7 ++ [happy_var_8,srcInfoSpan (ann happy_var_9),happy_var_10] };- return $ XTag l n as happy_var_4 cn })}}}}}}}}}})- ) (\r -> happyReturn (happyIn199 r))--happyReduce_510 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_510 = happyReduce 5# 185# happyReduction_510-happyReduction_510 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XStdTagOpen) -> - case happyOut202 happy_x_2 of { happy_var_2 -> - case happyOut205 happy_x_3 of { happy_var_3 -> - case happyOut207 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XEmptyTagClose) -> - happyIn199- (XETag (happy_var_1 <^^> happy_var_5 <** [happy_var_1,happy_var_5]) happy_var_2 (reverse happy_var_3) happy_var_4- ) `HappyStk` happyRest}}}}}--happyReduce_511 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_511 = happySpecReduce_3 185# happyReduction_511-happyReduction_511 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XCodeTagOpen) -> - case happyOut175 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 XCodeTagClose) -> - happyIn199- (XExpTag (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2- )}}}--happyReduce_512 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_512 = happyReduce 5# 185# happyReduction_512-happyReduction_512 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XChildTagOpen) -> - case happyOut200 happy_x_2 of { happy_var_2 -> - case happyOut181 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 XCloseTagOpen) -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 XCodeTagClose) -> - happyIn199- (XChildTag (happy_var_1 <^^> happy_var_5 <** (happy_var_1:happy_var_3++[happy_var_4,happy_var_5])) (reverse happy_var_2)- ) `HappyStk` happyRest}}}}}--happyReduce_513 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_513 = happySpecReduce_2 186# happyReduction_513-happyReduction_513 happy_x_2- happy_x_1- = case happyOut200 happy_x_1 of { happy_var_1 -> - case happyOut201 happy_x_2 of { happy_var_2 -> - happyIn200- (happy_var_2 : happy_var_1- )}}--happyReduce_514 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_514 = happySpecReduce_0 186# happyReduction_514-happyReduction_514 = happyIn200- ([]- )--happyReduce_515 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_515 = happySpecReduce_1 187# happyReduction_515-happyReduction_515 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn201- (let Loc l (XPCDATA pcd) = happy_var_1 in XPcdata (nIS l) pcd- )}--happyReduce_516 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_516 = happySpecReduce_3 187# happyReduction_516-happyReduction_516 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 XRPatOpen) -> - case happyOut197 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 XRPatClose) -> - happyIn201- (XRPats (happy_var_1 <^^> happy_var_3 <** (snd happy_var_2 ++ [happy_var_1,happy_var_3])) $ reverse (fst happy_var_2)- )}}}--happyReduce_517 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_517 = happySpecReduce_1 187# happyReduction_517-happyReduction_517 happy_x_1- = case happyOut199 happy_x_1 of { happy_var_1 -> - happyIn201- (happy_var_1- )}--happyReduce_518 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_518 = happySpecReduce_3 188# happyReduction_518-happyReduction_518 happy_x_3- happy_x_2- happy_x_1- = case happyOut203 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Colon) -> - case happyOut203 happy_x_3 of { happy_var_3 -> - happyIn202- (let {Loc l1 s1 = happy_var_1; Loc l2 s2 = happy_var_3}- in XDomName (nIS l1 <++> nIS l2 <** [l1,happy_var_2,l2]) s1 s2- )}}}--happyReduce_519 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_519 = happySpecReduce_1 188# happyReduction_519-happyReduction_519 happy_x_1- = case happyOut203 happy_x_1 of { happy_var_1 -> - happyIn202- (let Loc l str = happy_var_1 in XName (nIS l) str- )}--happyReduce_520 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_520 = happySpecReduce_1 189# happyReduction_520-happyReduction_520 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn203- (let Loc l (VarId s) = happy_var_1 in Loc l s- )}--happyReduce_521 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_521 = happySpecReduce_1 189# happyReduction_521-happyReduction_521 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn203- (let Loc l (ConId s) = happy_var_1 in Loc l s- )}--happyReduce_522 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_522 = happySpecReduce_1 189# happyReduction_522-happyReduction_522 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn203- (let Loc l (DVarId s) = happy_var_1 in Loc l $ mkDVar s- )}--happyReduce_523 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_523 = happySpecReduce_1 189# happyReduction_523-happyReduction_523 happy_x_1- = case happyOut204 happy_x_1 of { happy_var_1 -> - happyIn203- (happy_var_1- )}--happyReduce_524 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_524 = happySpecReduce_1 190# happyReduction_524-happyReduction_524 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> - happyIn204- (Loc happy_var_1 "type"- )}--happyReduce_525 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_525 = happySpecReduce_1 190# happyReduction_525-happyReduction_525 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Class) -> - happyIn204- (Loc happy_var_1 "class"- )}--happyReduce_526 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_526 = happySpecReduce_1 190# happyReduction_526-happyReduction_526 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> - happyIn204- (Loc happy_var_1 "data"- )}--happyReduce_527 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_527 = happySpecReduce_1 190# happyReduction_527-happyReduction_527 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> - happyIn204- (Loc happy_var_1 "foreign"- )}--happyReduce_528 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_528 = happySpecReduce_1 190# happyReduction_528-happyReduction_528 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Export) -> - happyIn204- (Loc happy_var_1 "export"- )}--happyReduce_529 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_529 = happySpecReduce_1 190# happyReduction_529-happyReduction_529 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - happyIn204- (Loc happy_var_1 "safe"- )}--happyReduce_530 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_530 = happySpecReduce_1 190# happyReduction_530-happyReduction_530 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> - happyIn204- (Loc happy_var_1 "unsafe"- )}--happyReduce_531 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_531 = happySpecReduce_1 190# happyReduction_531-happyReduction_531 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> - happyIn204- (Loc happy_var_1 "interruptible"- )}--happyReduce_532 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_532 = happySpecReduce_1 190# happyReduction_532-happyReduction_532 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> - happyIn204- (Loc happy_var_1 "threadsafe"- )}--happyReduce_533 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_533 = happySpecReduce_1 190# happyReduction_533-happyReduction_533 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> - happyIn204- (Loc happy_var_1 "stdcall"- )}--happyReduce_534 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_534 = happySpecReduce_1 190# happyReduction_534-happyReduction_534 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> - happyIn204- (Loc happy_var_1 "ccall"- )}--happyReduce_535 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_535 = happySpecReduce_1 190# happyReduction_535-happyReduction_535 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> - happyIn204- (Loc happy_var_1 "cplusplus"- )}--happyReduce_536 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_536 = happySpecReduce_1 190# happyReduction_536-happyReduction_536 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> - happyIn204- (Loc happy_var_1 "dotnet"- )}--happyReduce_537 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_537 = happySpecReduce_1 190# happyReduction_537-happyReduction_537 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> - happyIn204- (Loc happy_var_1 "jvm"- )}--happyReduce_538 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_538 = happySpecReduce_1 190# happyReduction_538-happyReduction_538 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> - happyIn204- (Loc happy_var_1 "js"- )}--happyReduce_539 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_539 = happySpecReduce_1 190# happyReduction_539-happyReduction_539 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> - happyIn204- (Loc happy_var_1 "javascript"- )}--happyReduce_540 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_540 = happySpecReduce_1 190# happyReduction_540-happyReduction_540 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> - happyIn204- (Loc happy_var_1 "capi"- )}--happyReduce_541 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_541 = happySpecReduce_1 190# happyReduction_541-happyReduction_541 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> - happyIn204- (Loc happy_var_1 "as"- )}--happyReduce_542 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_542 = happySpecReduce_1 190# happyReduction_542-happyReduction_542 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_By) -> - happyIn204- (Loc happy_var_1 "by"- )}--happyReduce_543 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_543 = happySpecReduce_1 190# happyReduction_543-happyReduction_543 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Case) -> - happyIn204- (Loc happy_var_1 "case"- )}--happyReduce_544 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_544 = happySpecReduce_1 190# happyReduction_544-happyReduction_544 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> - happyIn204- (Loc happy_var_1 "default"- )}--happyReduce_545 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_545 = happySpecReduce_1 190# happyReduction_545-happyReduction_545 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> - happyIn204- (Loc happy_var_1 "deriving"- )}--happyReduce_546 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_546 = happySpecReduce_1 190# happyReduction_546-happyReduction_546 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> - happyIn204- (Loc happy_var_1 "do"- )}--happyReduce_547 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_547 = happySpecReduce_1 190# happyReduction_547-happyReduction_547 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Else) -> - happyIn204- (Loc happy_var_1 "else"- )}--happyReduce_548 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_548 = happySpecReduce_1 190# happyReduction_548-happyReduction_548 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> - happyIn204- (Loc happy_var_1 "family"- )}--happyReduce_549 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_549 = happySpecReduce_1 190# happyReduction_549-happyReduction_549 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - happyIn204- (Loc happy_var_1 "forall"- )}--happyReduce_550 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_550 = happySpecReduce_1 190# happyReduction_550-happyReduction_550 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Group) -> - happyIn204- (Loc happy_var_1 "group"- )}--happyReduce_551 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_551 = happySpecReduce_1 190# happyReduction_551-happyReduction_551 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> - happyIn204- (Loc happy_var_1 "hiding"- )}--happyReduce_552 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_552 = happySpecReduce_1 190# happyReduction_552-happyReduction_552 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> - happyIn204- (Loc happy_var_1 "if"- )}--happyReduce_553 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_553 = happySpecReduce_1 190# happyReduction_553-happyReduction_553 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Import) -> - happyIn204- (Loc happy_var_1 "import"- )}--happyReduce_554 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_554 = happySpecReduce_1 190# happyReduction_554-happyReduction_554 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_In) -> - happyIn204- (Loc happy_var_1 "in"- )}--happyReduce_555 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_555 = happySpecReduce_1 190# happyReduction_555-happyReduction_555 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Infix) -> - happyIn204- (Loc happy_var_1 "infix"- )}--happyReduce_556 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_556 = happySpecReduce_1 190# happyReduction_556-happyReduction_556 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixL) -> - happyIn204- (Loc happy_var_1 "infixl"- )}--happyReduce_557 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_557 = happySpecReduce_1 190# happyReduction_557-happyReduction_557 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixR) -> - happyIn204- (Loc happy_var_1 "infixr"- )}--happyReduce_558 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_558 = happySpecReduce_1 190# happyReduction_558-happyReduction_558 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Instance) -> - happyIn204- (Loc happy_var_1 "instance"- )}--happyReduce_559 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_559 = happySpecReduce_1 190# happyReduction_559-happyReduction_559 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> - happyIn204- (Loc happy_var_1 "let"- )}--happyReduce_560 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_560 = happySpecReduce_1 190# happyReduction_560-happyReduction_560 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> - happyIn204- (Loc happy_var_1 "mdo"- )}--happyReduce_561 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_561 = happySpecReduce_1 190# happyReduction_561-happyReduction_561 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> - happyIn204- (Loc happy_var_1 "module"- )}--happyReduce_562 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_562 = happySpecReduce_1 190# happyReduction_562-happyReduction_562 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> - happyIn204- (Loc happy_var_1 "newtype"- )}--happyReduce_563 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_563 = happySpecReduce_1 190# happyReduction_563-happyReduction_563 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Of) -> - happyIn204- (Loc happy_var_1 "of"- )}--happyReduce_564 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_564 = happySpecReduce_1 190# happyReduction_564-happyReduction_564 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Proc) -> - happyIn204- (Loc happy_var_1 "proc"- )}--happyReduce_565 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_565 = happySpecReduce_1 190# happyReduction_565-happyReduction_565 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> - happyIn204- (Loc happy_var_1 "rec"- )}--happyReduce_566 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_566 = happySpecReduce_1 190# happyReduction_566-happyReduction_566 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - happyIn204- (Loc happy_var_1 "then"- )}--happyReduce_567 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_567 = happySpecReduce_1 190# happyReduction_567-happyReduction_567 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Using) -> - happyIn204- (Loc happy_var_1 "using"- )}--happyReduce_568 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_568 = happySpecReduce_1 190# happyReduction_568-happyReduction_568 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - happyIn204- (Loc happy_var_1 "where"- )}--happyReduce_569 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_569 = happySpecReduce_1 190# happyReduction_569-happyReduction_569 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> - happyIn204- (Loc happy_var_1 "qualified"- )}--happyReduce_570 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_570 = happySpecReduce_2 191# happyReduction_570-happyReduction_570 happy_x_2- happy_x_1- = case happyOut205 happy_x_1 of { happy_var_1 -> - case happyOut206 happy_x_2 of { happy_var_2 -> - happyIn205- (happy_var_2 : happy_var_1- )}}--happyReduce_571 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_571 = happySpecReduce_0 191# happyReduction_571-happyReduction_571 = happyIn205- ([]- )--happyReduce_572 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_572 = happySpecReduce_3 192# happyReduction_572-happyReduction_572 happy_x_3- happy_x_2- happy_x_1- = case happyOut202 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> - case happyOut187 happy_x_3 of { happy_var_3 -> - happyIn206- (XAttr (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_573 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_573 = happySpecReduce_1 193# happyReduction_573-happyReduction_573 happy_x_1- = case happyOut187 happy_x_1 of { happy_var_1 -> - happyIn207- (Just happy_var_1- )}--happyReduce_574 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_574 = happySpecReduce_0 193# happyReduction_574-happyReduction_574 = happyIn207- (Nothing- )--happyReduce_575 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_575 = happySpecReduce_1 194# happyReduction_575-happyReduction_575 happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - happyIn208- (\l -> List l [happy_var_1]- )}--happyReduce_576 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_576 = happySpecReduce_1 194# happyReduction_576-happyReduction_576 happy_x_1- = case happyOut209 happy_x_1 of { happy_var_1 -> - happyIn208- (\l -> let (ps,ss) = happy_var_1 in List (l <** reverse ss) (reverse ps)- )}--happyReduce_577 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_577 = happySpecReduce_2 194# happyReduction_577-happyReduction_577 happy_x_2- happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> - happyIn208- (\l -> EnumFrom (l <** [happy_var_2]) happy_var_1- )}}--happyReduce_578 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_578 = happyReduce 4# 194# happyReduction_578-happyReduction_578 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut196 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut175 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> - happyIn208- (\l -> EnumFromThen (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3- ) `HappyStk` happyRest}}}}--happyReduce_579 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_579 = happySpecReduce_3 194# happyReduction_579-happyReduction_579 happy_x_3- happy_x_2- happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> - case happyOut175 happy_x_3 of { happy_var_3 -> - happyIn208- (\l -> EnumFromTo (l <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_580 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_580 = happyReduce 5# 194# happyReduction_580-happyReduction_580 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut196 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut175 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> - case happyOut175 happy_x_5 of { happy_var_5 -> - happyIn208- (\l -> EnumFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}}}--happyReduce_581 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_581 = happySpecReduce_3 194# happyReduction_581-happyReduction_581 happy_x_3- happy_x_2- happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut210 happy_x_3 of { happy_var_3 -> - happyIn208- (\l -> let (stss, ss) = happy_var_3 in ParComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)- )}}}--happyReduce_582 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_582 = happySpecReduce_3 195# happyReduction_582-happyReduction_582 happy_x_3- happy_x_2- happy_x_1- = case happyOut209 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut196 happy_x_3 of { happy_var_3 -> - happyIn209- (let (es, ss) = happy_var_1 in (happy_var_3 : es, happy_var_2 : ss)- )}}}--happyReduce_583 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_583 = happySpecReduce_3 195# happyReduction_583-happyReduction_583 happy_x_3- happy_x_2- happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut196 happy_x_3 of { happy_var_3 -> - happyIn209- (([happy_var_3,happy_var_1], [happy_var_2])- )}}}--happyReduce_584 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_584 = happySpecReduce_3 196# happyReduction_584-happyReduction_584 happy_x_3- happy_x_2- happy_x_1- = case happyOut210 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut211 happy_x_3 of { happy_var_3 -> - happyIn210- (let { (stss, ss1) = happy_var_1;- (sts, ss2) = happy_var_3 }- in (reverse sts : stss, ss1 ++ [happy_var_2] ++ reverse ss2)- )}}}--happyReduce_585 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_585 = happySpecReduce_1 196# happyReduction_585-happyReduction_585 happy_x_1- = case happyOut211 happy_x_1 of { happy_var_1 -> - happyIn210- (let (sts, ss) = happy_var_1 in ([reverse sts], reverse ss)- )}--happyReduce_586 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_586 = happySpecReduce_3 197# happyReduction_586-happyReduction_586 happy_x_3- happy_x_2- happy_x_1- = case happyOut211 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut212 happy_x_3 of { happy_var_3 -> - happyIn211- (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)- )}}}--happyReduce_587 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_587 = happySpecReduce_1 197# happyReduction_587-happyReduction_587 happy_x_1- = case happyOut212 happy_x_1 of { happy_var_1 -> - happyIn211- (([happy_var_1],[])- )}--happyReduce_588 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_588 = happySpecReduce_1 198# happyReduction_588-happyReduction_588 happy_x_1- = case happyOut213 happy_x_1 of { happy_var_1 -> - happyIn212- (happy_var_1- )}--happyReduce_589 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_589 = happySpecReduce_1 198# happyReduction_589-happyReduction_589 happy_x_1- = case happyOut215 happy_x_1 of { happy_var_1 -> - happyIn212- (QualStmt (ann happy_var_1) happy_var_1- )}--happyReduce_590 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_590 = happySpecReduce_2 199# happyReduction_590-happyReduction_590 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOut174 happy_x_2 of { happy_var_2 -> - happyIn213- (ThenTrans (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_591 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_591 = happyReduce 4# 199# happyReduction_591-happyReduction_591 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOut174 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> - case happyOut174 happy_x_4 of { happy_var_4 -> - happyIn213- (ThenBy (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_592 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_592 = happyReduce 4# 199# happyReduction_592-happyReduction_592 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Group) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> - case happyOut174 happy_x_4 of { happy_var_4 -> - happyIn213- (GroupBy (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_593 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_593 = happyReduce 4# 199# happyReduction_593-happyReduction_593 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Group) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_Using) -> - case happyOut174 happy_x_4 of { happy_var_4 -> - happyIn213- (GroupUsing (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4- ) `HappyStk` happyRest}}}}--happyReduce_594 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_594 = happyReduce 6# 199# happyReduction_594-happyReduction_594 (happy_x_6 `HappyStk`- happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Group) -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> - case happyOut174 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 KW_Using) -> - case happyOut174 happy_x_6 of { happy_var_6 -> - happyIn213- (GroupByUsing (nIS happy_var_1 <++> ann happy_var_6 <** [happy_var_1,happy_var_2,happy_var_3,happy_var_5]) happy_var_4 happy_var_6- ) `HappyStk` happyRest}}}}}}--happyReduce_595 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_595 = happySpecReduce_3 200# happyReduction_595-happyReduction_595 happy_x_3- happy_x_2- happy_x_1- = case happyOut214 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut215 happy_x_3 of { happy_var_3 -> - happyIn214- (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)- )}}}--happyReduce_596 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_596 = happySpecReduce_1 200# happyReduction_596-happyReduction_596 happy_x_1- = case happyOut215 happy_x_1 of { happy_var_1 -> - happyIn214- (([happy_var_1],[])- )}--happyReduce_597 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_597 = happySpecReduce_3 201# happyReduction_597-happyReduction_597 happy_x_3- happy_x_2- happy_x_1- = case happyOut224 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrow) -> - case happyOut174 happy_x_3 of { happy_var_3 -> - happyIn215- (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_598 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_598 = happySpecReduce_1 201# happyReduction_598-happyReduction_598 happy_x_1- = case happyOut174 happy_x_1 of { happy_var_1 -> - happyIn215- (Qualifier (ann happy_var_1) happy_var_1- )}--happyReduce_599 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_599 = happySpecReduce_2 201# happyReduction_599-happyReduction_599 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> - case happyOut88 happy_x_2 of { happy_var_2 -> - happyIn215- (LetStmt (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_600 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_600 = happySpecReduce_0 202# happyReduction_600-happyReduction_600 = happyIn216- (\l -> ParArray l []- )--happyReduce_601 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_601 = happySpecReduce_1 202# happyReduction_601-happyReduction_601 happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - happyIn216- (\l -> ParArray l [happy_var_1]- )}--happyReduce_602 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_602 = happySpecReduce_1 202# happyReduction_602-happyReduction_602 happy_x_1- = case happyOut209 happy_x_1 of { happy_var_1 -> - happyIn216- (\l -> let (ps,ss) = happy_var_1 in ParArray (l <** reverse ss) (reverse ps)- )}--happyReduce_603 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_603 = happySpecReduce_3 202# happyReduction_603-happyReduction_603 happy_x_3- happy_x_2- happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> - case happyOut175 happy_x_3 of { happy_var_3 -> - happyIn216- (\l -> ParArrayFromTo (l <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_604 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_604 = happyReduce 5# 202# happyReduction_604-happyReduction_604 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut196 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut175 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> - case happyOut175 happy_x_5 of { happy_var_5 -> - happyIn216- (\l -> ParArrayFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5- ) `HappyStk` happyRest}}}}}--happyReduce_605 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_605 = happySpecReduce_3 202# happyReduction_605-happyReduction_605 happy_x_3- happy_x_2- happy_x_1- = case happyOut196 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> - case happyOut210 happy_x_3 of { happy_var_3 -> - happyIn216- (\l -> let (stss, ss) = happy_var_3 in ParArrayComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)- )}}}--happyReduce_606 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_606 = happySpecReduce_3 203# happyReduction_606-happyReduction_606 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut218 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn217- ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_607 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_607 = happySpecReduce_3 203# happyReduction_607-happyReduction_607 happy_x_3- happy_x_2- happy_x_1- = case happyOut272 happy_x_1 of { happy_var_1 -> - case happyOut218 happy_x_2 of { happy_var_2 -> - case happyOut273 happy_x_3 of { happy_var_3 -> - happyIn217- (let l' = ann . last $ fst happy_var_2- in (fst happy_var_2, nIS happy_var_1 <++> l', happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_608 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_608 = happyMonadReduce 2# 203# happyReduction_608-happyReduction_608 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightCurly) -> - ( do { checkEnabled EmptyCase;- return ([], happy_var_1 <^^> happy_var_2, [happy_var_1, happy_var_2]) })}})- ) (\r -> happyReturn (happyIn217 r))--happyReduce_609 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_609 = happySpecReduce_3 204# happyReduction_609-happyReduction_609 happy_x_3- happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut219 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - happyIn218- ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)- )}}}--happyReduce_610 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_610 = happySpecReduce_3 205# happyReduction_610-happyReduction_610 happy_x_3- happy_x_2- happy_x_1- = case happyOut219 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut220 happy_x_3 of { happy_var_3 -> - happyIn219- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)- )}}}--happyReduce_611 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_611 = happySpecReduce_1 205# happyReduction_611-happyReduction_611 happy_x_1- = case happyOut220 happy_x_1 of { happy_var_1 -> - happyIn219- (([happy_var_1],[])- )}--happyReduce_612 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_612 = happySpecReduce_3 206# happyReduction_612-happyReduction_612 happy_x_3- happy_x_2- happy_x_1- = case happyOut224 happy_x_1 of { happy_var_1 -> - case happyOut221 happy_x_2 of { happy_var_2 -> - case happyOut169 happy_x_3 of { happy_var_3 -> - happyIn220- (Alt (happy_var_1 <> happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** snd happy_var_3) happy_var_1 happy_var_2 (fst happy_var_3)- )}}}--happyReduce_613 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_613 = happySpecReduce_2 207# happyReduction_613-happyReduction_613 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 RightArrow) -> - case happyOut174 happy_x_2 of { happy_var_2 -> - happyIn221- (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_614 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_614 = happySpecReduce_1 207# happyReduction_614-happyReduction_614 happy_x_1- = case happyOut222 happy_x_1 of { happy_var_1 -> - happyIn221- (GuardedRhss (snd happy_var_1) (reverse $ fst happy_var_1)- )}--happyReduce_615 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_615 = happySpecReduce_2 208# happyReduction_615-happyReduction_615 happy_x_2- happy_x_1- = case happyOut222 happy_x_1 of { happy_var_1 -> - case happyOut223 happy_x_2 of { happy_var_2 -> - happyIn222- ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)- )}}--happyReduce_616 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_616 = happySpecReduce_1 208# happyReduction_616-happyReduction_616 happy_x_1- = case happyOut223 happy_x_1 of { happy_var_1 -> - happyIn222- (([happy_var_1], ann happy_var_1)- )}--happyReduce_617 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_617 = happyMonadReduce 4# 209# happyReduction_617-happyReduction_617 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> - case happyOut214 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> - case happyOut174 happy_x_4 of { happy_var_4 -> - ( do { checkPatternGuards (fst happy_var_2);- let {l = nIS happy_var_1 <++> ann happy_var_4 <** (happy_var_1:snd happy_var_2 ++ [happy_var_3])};- return (GuardedRhs l (reverse (fst happy_var_2)) happy_var_4) })}}}})- ) (\r -> happyReturn (happyIn223 r))--happyReduce_618 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_618 = happyMonadReduce 1# 210# happyReduction_618-happyReduction_618 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut175 happy_x_1 of { happy_var_1 -> - ( checkPattern happy_var_1)})- ) (\r -> happyReturn (happyIn224 r))--happyReduce_619 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_619 = happyMonadReduce 2# 210# happyReduction_619-happyReduction_619 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - case happyOut187 happy_x_2 of { happy_var_2 -> - ( checkPattern (BangPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2))}})- ) (\r -> happyReturn (happyIn224 r))--happyReduce_620 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_620 = happySpecReduce_3 211# happyReduction_620-happyReduction_620 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut226 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn225- ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_621 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_621 = happySpecReduce_3 211# happyReduction_621-happyReduction_621 happy_x_3- happy_x_2- happy_x_1- = case happyOut272 happy_x_1 of { happy_var_1 -> - case happyOut226 happy_x_2 of { happy_var_2 -> - case happyOut273 happy_x_3 of { happy_var_3 -> - happyIn225- (let l' = ann . last $ fst happy_var_2- in (fst happy_var_2, nIS happy_var_1 <++> l', happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_622 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_622 = happySpecReduce_3 212# happyReduction_622-happyReduction_622 happy_x_3- happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut227 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - happyIn226- ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)- )}}}--happyReduce_623 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_623 = happySpecReduce_3 213# happyReduction_623-happyReduction_623 happy_x_3- happy_x_2- happy_x_1- = case happyOut227 happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { happy_var_2 -> - case happyOut223 happy_x_3 of { happy_var_3 -> - happyIn227- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)- )}}}--happyReduce_624 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_624 = happySpecReduce_1 213# happyReduction_624-happyReduction_624 happy_x_1- = case happyOut223 happy_x_1 of { happy_var_1 -> - happyIn227- (([happy_var_1], [])- )}--happyReduce_625 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_625 = happySpecReduce_3 214# happyReduction_625-happyReduction_625 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut229 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> - happyIn228- ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_626 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_626 = happySpecReduce_3 214# happyReduction_626-happyReduction_626 happy_x_3- happy_x_2- happy_x_1- = case happyOut272 happy_x_1 of { happy_var_1 -> - case happyOut229 happy_x_2 of { happy_var_2 -> - case happyOut273 happy_x_3 of { happy_var_3 -> - happyIn228- (let l' = ann . last $ fst happy_var_2- in (fst happy_var_2, nIS happy_var_1 <++> l', happy_var_1:snd happy_var_2 ++ [happy_var_3])- )}}}--happyReduce_627 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_627 = happySpecReduce_2 215# happyReduction_627-happyReduction_627 happy_x_2- happy_x_1- = case happyOut231 happy_x_1 of { happy_var_1 -> - case happyOut230 happy_x_2 of { happy_var_2 -> - happyIn229- ((happy_var_1 : fst happy_var_2, snd happy_var_2)- )}}--happyReduce_628 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_628 = happySpecReduce_2 215# happyReduction_628-happyReduction_628 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> - case happyOut229 happy_x_2 of { happy_var_2 -> - happyIn229- ((fst happy_var_2, happy_var_1 : snd happy_var_2)- )}}--happyReduce_629 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_629 = happySpecReduce_0 215# happyReduction_629-happyReduction_629 = happyIn229- (([],[])- )--happyReduce_630 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_630 = happySpecReduce_2 216# happyReduction_630-happyReduction_630 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> - case happyOut229 happy_x_2 of { happy_var_2 -> - happyIn230- ((fst happy_var_2, happy_var_1 : snd happy_var_2)- )}}--happyReduce_631 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_631 = happySpecReduce_0 216# happyReduction_631-happyReduction_631 = happyIn230- (([],[])- )--happyReduce_632 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_632 = happySpecReduce_2 217# happyReduction_632-happyReduction_632 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> - case happyOut88 happy_x_2 of { happy_var_2 -> - happyIn231- (LetStmt (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2- )}}--happyReduce_633 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_633 = happySpecReduce_3 217# happyReduction_633-happyReduction_633 happy_x_3- happy_x_2- happy_x_1- = case happyOut224 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrow) -> - case happyOut174 happy_x_3 of { happy_var_3 -> - happyIn231- (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_634 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_634 = happySpecReduce_1 217# happyReduction_634-happyReduction_634 happy_x_1- = case happyOut174 happy_x_1 of { happy_var_1 -> - happyIn231- (Qualifier (ann happy_var_1) happy_var_1- )}--happyReduce_635 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_635 = happySpecReduce_2 217# happyReduction_635-happyReduction_635 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> - case happyOut228 happy_x_2 of { happy_var_2 -> - happyIn231- (let (stms,inf,ss) = happy_var_2 in RecStmt (nIS happy_var_1 <++> inf <** happy_var_1:ss) stms- )}}--happyReduce_636 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_636 = happySpecReduce_3 218# happyReduction_636-happyReduction_636 happy_x_3- happy_x_2- happy_x_1- = case happyOut233 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut232 happy_x_3 of { happy_var_3 -> - happyIn232- (let (fbs, ss) = happy_var_3 in (happy_var_1 : fbs, happy_var_2 : ss)- )}}}--happyReduce_637 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_637 = happySpecReduce_1 218# happyReduction_637-happyReduction_637 happy_x_1- = case happyOut233 happy_x_1 of { happy_var_1 -> - happyIn232- (([happy_var_1],[])- )}--happyReduce_638 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_638 = happyMonadReduce 1# 218# happyReduction_638-happyReduction_638 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 DotDot) -> - ( do { checkEnabled RecordWildCards `atSrcLoc` (getPointLoc happy_var_1);- return ([FieldWildcard (nIS happy_var_1)], []) })})- ) (\r -> happyReturn (happyIn232 r))--happyReduce_639 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_639 = happySpecReduce_3 219# happyReduction_639-happyReduction_639 happy_x_3- happy_x_2- happy_x_1- = case happyOut243 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> - case happyOut175 happy_x_3 of { happy_var_3 -> - happyIn233- (FieldUpdate (happy_var_1 <>happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_640 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_640 = happyMonadReduce 1# 219# happyReduction_640-happyReduction_640 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut243 happy_x_1 of { happy_var_1 -> - ( checkEnabled NamedFieldPuns >> checkQualOrUnQual happy_var_1 >>= return . FieldPun (ann happy_var_1))})- ) (\r -> happyReturn (happyIn233 r))--happyReduce_641 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_641 = happySpecReduce_3 220# happyReduction_641-happyReduction_641 happy_x_3- happy_x_2- happy_x_1- = case happyOut28 happy_x_1 of { happy_var_1 -> - case happyOut235 happy_x_2 of { happy_var_2 -> - case happyOut28 happy_x_3 of { happy_var_3 -> - happyIn234- ((reverse (fst happy_var_2), reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)- )}}}--happyReduce_642 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_642 = happySpecReduce_3 221# happyReduction_642-happyReduction_642 happy_x_3- happy_x_2- happy_x_1- = case happyOut235 happy_x_1 of { happy_var_1 -> - case happyOut27 happy_x_2 of { happy_var_2 -> - case happyOut236 happy_x_3 of { happy_var_3 -> - happyIn235- ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)- )}}}--happyReduce_643 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_643 = happySpecReduce_1 221# happyReduction_643-happyReduction_643 happy_x_1- = case happyOut236 happy_x_1 of { happy_var_1 -> - happyIn235- (([happy_var_1],[])- )}--happyReduce_644 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_644 = happySpecReduce_3 222# happyReduction_644-happyReduction_644 happy_x_3- happy_x_2- happy_x_1- = case happyOut244 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> - case happyOut174 happy_x_3 of { happy_var_3 -> - happyIn236- (IPBind (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3- )}}}--happyReduce_645 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_645 = happySpecReduce_1 223# happyReduction_645-happyReduction_645 happy_x_1- = case happyOut240 happy_x_1 of { happy_var_1 -> - happyIn237- (happy_var_1- )}--happyReduce_646 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_646 = happySpecReduce_1 223# happyReduction_646-happyReduction_646 happy_x_1- = case happyOut247 happy_x_1 of { happy_var_1 -> - happyIn237- (Con (ann happy_var_1) happy_var_1- )}--happyReduce_647 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_647 = happySpecReduce_1 224# happyReduction_647-happyReduction_647 happy_x_1- = case happyOut239 happy_x_1 of { happy_var_1 -> - happyIn238- (happy_var_1- )}--happyReduce_648 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_648 = happySpecReduce_1 224# happyReduction_648-happyReduction_648 happy_x_1- = case happyOut247 happy_x_1 of { happy_var_1 -> - happyIn238- (Con (ann happy_var_1) happy_var_1- )}--happyReduce_649 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_649 = happySpecReduce_2 225# happyReduction_649-happyReduction_649 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> - happyIn239- (p_unit_con (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_650 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_650 = happySpecReduce_2 225# happyReduction_650-happyReduction_650 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> - happyIn239- (p_unboxed_singleton_con (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])- )}}--happyReduce_651 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_651 = happySpecReduce_3 225# happyReduction_651-happyReduction_651 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> - case happyOut193 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> - happyIn239- (p_tuple_con (happy_var_1 <^^> happy_var_3 <** happy_var_1:reverse (happy_var_3:happy_var_2)) Unboxed (length happy_var_2)- )}}}--happyReduce_652 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_652 = happySpecReduce_3 225# happyReduction_652-happyReduction_652 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut193 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn239- (p_tuple_con (happy_var_1 <^^> happy_var_3 <** happy_var_1:reverse (happy_var_3:happy_var_2)) Boxed (length happy_var_2)- )}}}--happyReduce_653 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_653 = happySpecReduce_2 226# happyReduction_653-happyReduction_653 happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 RightSquare) -> - happyIn240- (List (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2]) []- )}}--happyReduce_654 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_654 = happySpecReduce_1 226# happyReduction_654-happyReduction_654 happy_x_1- = case happyOut239 happy_x_1 of { happy_var_1 -> - happyIn240- (happy_var_1- )}--happyReduce_655 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_655 = happySpecReduce_1 227# happyReduction_655-happyReduction_655 happy_x_1- = case happyOut260 happy_x_1 of { happy_var_1 -> - happyIn241- (happy_var_1- )}--happyReduce_656 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_656 = happySpecReduce_3 227# happyReduction_656-happyReduction_656 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut268 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn241- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_657 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_657 = happySpecReduce_1 228# happyReduction_657-happyReduction_657 happy_x_1- = case happyOut259 happy_x_1 of { happy_var_1 -> - happyIn242- (happy_var_1- )}--happyReduce_658 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_658 = happySpecReduce_3 228# happyReduction_658-happyReduction_658 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut268 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn242- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_659 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_659 = happySpecReduce_1 229# happyReduction_659-happyReduction_659 happy_x_1- = case happyOut258 happy_x_1 of { happy_var_1 -> - happyIn243- (happy_var_1- )}--happyReduce_660 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_660 = happySpecReduce_3 229# happyReduction_660-happyReduction_660 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut266 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn243- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_661 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_661 = happySpecReduce_1 230# happyReduction_661-happyReduction_661 happy_x_1- = case happyOut261 happy_x_1 of { happy_var_1 -> - happyIn244- (happy_var_1- )}--happyReduce_662 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_662 = happySpecReduce_1 231# happyReduction_662-happyReduction_662 happy_x_1- = case happyOut263 happy_x_1 of { happy_var_1 -> - happyIn245- (happy_var_1- )}--happyReduce_663 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_663 = happySpecReduce_3 231# happyReduction_663-happyReduction_663 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut265 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn245- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_664 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_664 = happySpecReduce_1 232# happyReduction_664-happyReduction_664 happy_x_1- = case happyOut245 happy_x_1 of { happy_var_1 -> - happyIn246- (([], [happy_var_1])- )}--happyReduce_665 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_665 = happySpecReduce_3 232# happyReduction_665-happyReduction_665 happy_x_3- happy_x_2- happy_x_1- = case happyOut245 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut246 happy_x_3 of { happy_var_3 -> - happyIn246- (let (ss, cs) = happy_var_3- in (happy_var_2 : ss, happy_var_1 :cs)- )}}}--happyReduce_666 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_666 = happySpecReduce_1 233# happyReduction_666-happyReduction_666 happy_x_1- = case happyOut262 happy_x_1 of { happy_var_1 -> - happyIn247- (happy_var_1- )}--happyReduce_667 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_667 = happySpecReduce_3 233# happyReduction_667-happyReduction_667 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> - case happyOut256 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> - happyIn247- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_668 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_668 = happySpecReduce_1 234# happyReduction_668-happyReduction_668 happy_x_1- = case happyOut268 happy_x_1 of { happy_var_1 -> - happyIn248- (happy_var_1- )}--happyReduce_669 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_669 = happySpecReduce_3 234# happyReduction_669-happyReduction_669 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut260 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn248- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_670 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_670 = happySpecReduce_1 235# happyReduction_670-happyReduction_670 happy_x_1- = case happyOut266 happy_x_1 of { happy_var_1 -> - happyIn249- (happy_var_1- )}--happyReduce_671 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_671 = happySpecReduce_3 235# happyReduction_671-happyReduction_671 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut258 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn249- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_672 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_672 = happySpecReduce_1 236# happyReduction_672-happyReduction_672 happy_x_1- = case happyOut267 happy_x_1 of { happy_var_1 -> - happyIn250- (happy_var_1- )}--happyReduce_673 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_673 = happySpecReduce_3 236# happyReduction_673-happyReduction_673 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut258 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn250- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_674 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_674 = happySpecReduce_1 237# happyReduction_674-happyReduction_674 happy_x_1- = case happyOut265 happy_x_1 of { happy_var_1 -> - happyIn251- (happy_var_1- )}--happyReduce_675 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_675 = happySpecReduce_3 237# happyReduction_675-happyReduction_675 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut263 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn251- (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2- )}}}--happyReduce_676 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_676 = happySpecReduce_1 238# happyReduction_676-happyReduction_676 happy_x_1- = case happyOut256 happy_x_1 of { happy_var_1 -> - happyIn252- (happy_var_1- )}--happyReduce_677 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_677 = happySpecReduce_3 238# happyReduction_677-happyReduction_677 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut262 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn252- (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_678 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_678 = happySpecReduce_1 239# happyReduction_678-happyReduction_678 happy_x_1- = case happyOut248 happy_x_1 of { happy_var_1 -> - happyIn253- (VarOp (ann happy_var_1) happy_var_1- )}--happyReduce_679 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_679 = happySpecReduce_1 239# happyReduction_679-happyReduction_679 happy_x_1- = case happyOut251 happy_x_1 of { happy_var_1 -> - happyIn253- (ConOp (ann happy_var_1) happy_var_1- )}--happyReduce_680 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_680 = happySpecReduce_1 240# happyReduction_680-happyReduction_680 happy_x_1- = case happyOut249 happy_x_1 of { happy_var_1 -> - happyIn254- (QVarOp (ann happy_var_1) happy_var_1- )}--happyReduce_681 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_681 = happySpecReduce_1 240# happyReduction_681-happyReduction_681 happy_x_1- = case happyOut252 happy_x_1 of { happy_var_1 -> - happyIn254- (QConOp (ann happy_var_1) happy_var_1- )}--happyReduce_682 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_682 = happySpecReduce_1 241# happyReduction_682-happyReduction_682 happy_x_1- = case happyOut250 happy_x_1 of { happy_var_1 -> - happyIn255- (QVarOp (ann happy_var_1) happy_var_1- )}--happyReduce_683 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_683 = happySpecReduce_1 241# happyReduction_683-happyReduction_683 happy_x_1- = case happyOut252 happy_x_1 of { happy_var_1 -> - happyIn255- (QConOp (ann happy_var_1) happy_var_1- )}--happyReduce_684 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_684 = happySpecReduce_1 242# happyReduction_684-happyReduction_684 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Colon) -> - happyIn256- (list_cons_name (nIS happy_var_1)- )}--happyReduce_685 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_685 = happySpecReduce_1 242# happyReduction_685-happyReduction_685 happy_x_1- = case happyOut264 happy_x_1 of { happy_var_1 -> - happyIn256- (happy_var_1- )}--happyReduce_686 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_686 = happySpecReduce_1 243# happyReduction_686-happyReduction_686 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn257- (let Loc l (LabelVarId v) = happy_var_1 in OverloadedLabel- (nIS l) v- )}--happyReduce_687 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_687 = happySpecReduce_1 244# happyReduction_687-happyReduction_687 happy_x_1- = case happyOut260 happy_x_1 of { happy_var_1 -> - happyIn258- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_688 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_688 = happySpecReduce_1 244# happyReduction_688-happyReduction_688 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn258- (let {Loc l (QVarId q) = happy_var_1; nis = nIS l}- in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))- )}--happyReduce_689 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_689 = happySpecReduce_1 244# happyReduction_689-happyReduction_689 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> - happyIn258- (hole_name (nIS happy_var_1)- )}--happyReduce_690 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_690 = happySpecReduce_1 245# happyReduction_690-happyReduction_690 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn259- (let Loc l (VarId v) = happy_var_1 in Ident (nIS l) v- )}--happyReduce_691 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_691 = happySpecReduce_1 245# happyReduction_691-happyReduction_691 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> - happyIn259- (as_name (nIS happy_var_1)- )}--happyReduce_692 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_692 = happySpecReduce_1 245# happyReduction_692-happyReduction_692 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> - happyIn259- (qualified_name (nIS happy_var_1)- )}--happyReduce_693 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_693 = happySpecReduce_1 245# happyReduction_693-happyReduction_693 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> - happyIn259- (hiding_name (nIS happy_var_1)- )}--happyReduce_694 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_694 = happySpecReduce_1 245# happyReduction_694-happyReduction_694 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Export) -> - happyIn259- (export_name (nIS happy_var_1)- )}--happyReduce_695 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_695 = happySpecReduce_1 245# happyReduction_695-happyReduction_695 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> - happyIn259- (stdcall_name (nIS happy_var_1)- )}--happyReduce_696 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_696 = happySpecReduce_1 245# happyReduction_696-happyReduction_696 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> - happyIn259- (ccall_name (nIS happy_var_1)- )}--happyReduce_697 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_697 = happySpecReduce_1 245# happyReduction_697-happyReduction_697 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> - happyIn259- (cplusplus_name (nIS happy_var_1)- )}--happyReduce_698 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_698 = happySpecReduce_1 245# happyReduction_698-happyReduction_698 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> - happyIn259- (dotnet_name (nIS happy_var_1)- )}--happyReduce_699 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_699 = happySpecReduce_1 245# happyReduction_699-happyReduction_699 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> - happyIn259- (jvm_name (nIS happy_var_1)- )}--happyReduce_700 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_700 = happySpecReduce_1 245# happyReduction_700-happyReduction_700 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> - happyIn259- (js_name (nIS happy_var_1)- )}--happyReduce_701 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_701 = happySpecReduce_1 245# happyReduction_701-happyReduction_701 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> - happyIn259- (javascript_name (nIS happy_var_1)- )}--happyReduce_702 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_702 = happySpecReduce_1 245# happyReduction_702-happyReduction_702 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> - happyIn259- (capi_name (nIS happy_var_1)- )}--happyReduce_703 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_703 = happySpecReduce_1 245# happyReduction_703-happyReduction_703 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Stock) -> - happyIn259- (stock_name (nIS happy_var_1)- )}--happyReduce_704 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_704 = happySpecReduce_1 245# happyReduction_704-happyReduction_704 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Anyclass) -> - happyIn259- (anyclass_name (nIS happy_var_1)- )}--happyReduce_705 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_705 = happySpecReduce_1 246# happyReduction_705-happyReduction_705 happy_x_1- = case happyOut259 happy_x_1 of { happy_var_1 -> - happyIn260- (happy_var_1- )}--happyReduce_706 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_706 = happySpecReduce_1 246# happyReduction_706-happyReduction_706 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - happyIn260- (safe_name (nIS happy_var_1)- )}--happyReduce_707 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_707 = happySpecReduce_1 246# happyReduction_707-happyReduction_707 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> - happyIn260- (unsafe_name (nIS happy_var_1)- )}--happyReduce_708 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_708 = happySpecReduce_1 246# happyReduction_708-happyReduction_708 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> - happyIn260- (interruptible_name (nIS happy_var_1)- )}--happyReduce_709 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_709 = happySpecReduce_1 246# happyReduction_709-happyReduction_709 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> - happyIn260- (threadsafe_name (nIS happy_var_1)- )}--happyReduce_710 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_710 = happySpecReduce_1 246# happyReduction_710-happyReduction_710 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - happyIn260- (forall_name (nIS happy_var_1)- )}--happyReduce_711 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_711 = happySpecReduce_1 246# happyReduction_711-happyReduction_711 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> - happyIn260- (family_name (nIS happy_var_1)- )}--happyReduce_712 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_712 = happySpecReduce_1 246# happyReduction_712-happyReduction_712 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Role) -> - happyIn260- (role_name (nIS happy_var_1)- )}--happyReduce_713 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_713 = happySpecReduce_1 247# happyReduction_713-happyReduction_713 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn261- (let Loc l (IDupVarId i) = happy_var_1 in IPDup (nIS l) i- )}--happyReduce_714 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_714 = happySpecReduce_1 247# happyReduction_714-happyReduction_714 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn261- (let Loc l (ILinVarId i) = happy_var_1 in IPLin (nIS l) i- )}--happyReduce_715 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_715 = happySpecReduce_1 248# happyReduction_715-happyReduction_715 happy_x_1- = case happyOut263 happy_x_1 of { happy_var_1 -> - happyIn262- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_716 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_716 = happySpecReduce_1 248# happyReduction_716-happyReduction_716 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn262- (let {Loc l (QConId q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))- )}--happyReduce_717 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_717 = happySpecReduce_1 249# happyReduction_717-happyReduction_717 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn263- (let Loc l (ConId c) = happy_var_1 in Ident (nIS l) c- )}--happyReduce_718 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_718 = happySpecReduce_1 250# happyReduction_718-happyReduction_718 happy_x_1- = case happyOut265 happy_x_1 of { happy_var_1 -> - happyIn264- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_719 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_719 = happySpecReduce_1 250# happyReduction_719-happyReduction_719 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn264- (let {Loc l (QConSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))- )}--happyReduce_720 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_720 = happySpecReduce_1 251# happyReduction_720-happyReduction_720 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn265- (let Loc l (ConSym c) = happy_var_1 in Symbol (nIS l) c- )}--happyReduce_721 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_721 = happySpecReduce_1 252# happyReduction_721-happyReduction_721 happy_x_1- = case happyOut268 happy_x_1 of { happy_var_1 -> - happyIn266- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_722 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_722 = happySpecReduce_1 252# happyReduction_722-happyReduction_722 happy_x_1- = case happyOut270 happy_x_1 of { happy_var_1 -> - happyIn266- (happy_var_1- )}--happyReduce_723 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_723 = happySpecReduce_1 253# happyReduction_723-happyReduction_723 happy_x_1- = case happyOut269 happy_x_1 of { happy_var_1 -> - happyIn267- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_724 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_724 = happySpecReduce_1 253# happyReduction_724-happyReduction_724 happy_x_1- = case happyOut270 happy_x_1 of { happy_var_1 -> - happyIn267- (happy_var_1- )}--happyReduce_725 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_725 = happySpecReduce_1 254# happyReduction_725-happyReduction_725 happy_x_1- = case happyOut269 happy_x_1 of { happy_var_1 -> - happyIn268- (happy_var_1- )}--happyReduce_726 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_726 = happySpecReduce_1 254# happyReduction_726-happyReduction_726 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> - happyIn268- (minus_name (nIS happy_var_1)- )}--happyReduce_727 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_727 = happySpecReduce_1 255# happyReduction_727-happyReduction_727 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn269- (let Loc l (VarSym v) = happy_var_1 in Symbol (nIS l) v- )}--happyReduce_728 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_728 = happySpecReduce_1 255# happyReduction_728-happyReduction_728 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> - happyIn269- (bang_name (nIS happy_var_1)- )}--happyReduce_729 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_729 = happySpecReduce_1 255# happyReduction_729-happyReduction_729 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Dot) -> - happyIn269- (dot_name (nIS happy_var_1)- )}--happyReduce_730 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_730 = happySpecReduce_1 255# happyReduction_730-happyReduction_730 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> - happyIn269- (star_name (nIS happy_var_1)- )}--happyReduce_731 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_731 = happySpecReduce_1 256# happyReduction_731-happyReduction_731 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn270- (let {Loc l (QVarSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))- )}--happyReduce_732 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_732 = happySpecReduce_1 257# happyReduction_732-happyReduction_732 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn271- (let Loc l (IntTok (i,raw)) = happy_var_1 in Int (nIS l) i raw- )}--happyReduce_733 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_733 = happySpecReduce_1 257# happyReduction_733-happyReduction_733 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn271- (let Loc l (Character (c,raw)) = happy_var_1 in Char (nIS l) c raw- )}--happyReduce_734 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_734 = happySpecReduce_1 257# happyReduction_734-happyReduction_734 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn271- (let Loc l (FloatTok (r,raw)) = happy_var_1 in Frac (nIS l) r raw- )}--happyReduce_735 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_735 = happySpecReduce_1 257# happyReduction_735-happyReduction_735 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn271- (let Loc l (StringTok (s,raw)) = happy_var_1 in String (nIS l) s raw- )}--happyReduce_736 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_736 = happySpecReduce_1 257# happyReduction_736-happyReduction_736 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn271- (let Loc l (IntTokHash (i,raw)) = happy_var_1 in PrimInt (nIS l) i raw- )}--happyReduce_737 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_737 = happySpecReduce_1 257# happyReduction_737-happyReduction_737 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn271- (let Loc l (WordTokHash (w,raw)) = happy_var_1 in PrimWord (nIS l) w raw- )}--happyReduce_738 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_738 = happySpecReduce_1 257# happyReduction_738-happyReduction_738 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn271- (let Loc l (FloatTokHash (f,raw)) = happy_var_1 in PrimFloat (nIS l) f raw- )}--happyReduce_739 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_739 = happySpecReduce_1 257# happyReduction_739-happyReduction_739 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn271- (let Loc l (DoubleTokHash (d,raw)) = happy_var_1 in PrimDouble (nIS l) d raw- )}--happyReduce_740 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_740 = happySpecReduce_1 257# happyReduction_740-happyReduction_740 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn271- (let Loc l (CharacterHash (c,raw)) = happy_var_1 in PrimChar (nIS l) c raw- )}--happyReduce_741 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_741 = happySpecReduce_1 257# happyReduction_741-happyReduction_741 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn271- (let Loc l (StringHash (s,raw)) = happy_var_1 in PrimString (nIS l) s raw- )}--happyReduce_742 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_742 = happyMonadReduce 0# 258# happyReduction_742-happyReduction_742 (happyRest) tk- = happyThen ((( pushCurrentContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x) (return x) -}))- ) (\r -> happyReturn (happyIn272 r))--happyReduce_743 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_743 = happySpecReduce_1 259# happyReduction_743-happyReduction_743 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 VRightCurly) -> - happyIn273- (happy_var_1 {- >>= \x -> trace (show x ++ show x ++ show x) (return x) -}- )}--happyReduce_744 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_744 = happyMonadReduce 1# 259# happyReduction_744-happyReduction_744 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((( popContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x ++ show x) (return x) -}))- ) (\r -> happyReturn (happyIn273 r))--happyReduce_745 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_745 = happyMonadReduce 1# 260# happyReduction_745-happyReduction_745 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut275 happy_x_1 of { happy_var_1 -> - ( checkEnabled PatternSynonyms >> return happy_var_1)})- ) (\r -> happyReturn (happyIn274 r))--happyReduce_746 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_746 = happyReduce 4# 261# happyReduction_746-happyReduction_746 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> - case happyOut276 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> - case happyOut224 happy_x_4 of { happy_var_4 -> - happyIn275- (let l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]- in PatSyn l happy_var_2 happy_var_4 ImplicitBidirectional- ) `HappyStk` happyRest}}}}--happyReduce_747 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_747 = happyReduce 4# 261# happyReduction_747-happyReduction_747 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> - case happyOut276 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftArrow) -> - case happyOut224 happy_x_4 of { happy_var_4 -> - happyIn275- (let l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]- in PatSyn l happy_var_2 happy_var_4 Unidirectional- ) `HappyStk` happyRest}}}}--happyReduce_748 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_748 = happyReduce 5# 261# happyReduction_748-happyReduction_748 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> - case happyOut276 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftArrow) -> - case happyOut224 happy_x_4 of { happy_var_4 -> - case happyOut279 happy_x_5 of { happy_var_5 -> - happyIn275- (let l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1, happy_var_3]- in PatSyn l happy_var_2 happy_var_4 happy_var_5- ) `HappyStk` happyRest}}}}}--happyReduce_749 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_749 = happySpecReduce_2 262# happyReduction_749-happyReduction_749 happy_x_2- happy_x_1- = case happyOut245 happy_x_1 of { happy_var_1 -> - case happyOut277 happy_x_2 of { happy_var_2 -> - happyIn276- (let l = case happy_var_2 of- [] -> ann happy_var_1- (_:_) -> ann happy_var_1 <++> (ann $ last happy_var_2)- in PApp l (UnQual (ann happy_var_1) happy_var_1) happy_var_2- )}}--happyReduce_750 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_750 = happySpecReduce_3 262# happyReduction_750-happyReduction_750 happy_x_3- happy_x_2- happy_x_1- = case happyOut260 happy_x_1 of { happy_var_1 -> - case happyOut264 happy_x_2 of { happy_var_2 -> - case happyOut260 happy_x_3 of { happy_var_3 -> - happyIn276- (PInfixApp (ann happy_var_1 <++> ann happy_var_3) (PVar (ann happy_var_1) happy_var_1) happy_var_2 (PVar (ann happy_var_3) happy_var_3)- )}}}--happyReduce_751 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_751 = happyReduce 4# 262# happyReduction_751-happyReduction_751 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut245 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut278 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - happyIn276- (let { (ss, ns) = happy_var_3 ;- qnames = (map (\n -> UnQual (ann n) n) ns) }- in PRec (ann happy_var_1 <++> nIS happy_var_4 <** (happy_var_2 : ss ++ [happy_var_4]))- (UnQual (ann happy_var_1) happy_var_1) (map (\q -> PFieldPun (ann q) q) qnames)- ) `HappyStk` happyRest}}}}--happyReduce_752 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_752 = happySpecReduce_0 263# happyReduction_752-happyReduction_752 = happyIn277- ([]- )--happyReduce_753 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_753 = happySpecReduce_2 263# happyReduction_753-happyReduction_753 happy_x_2- happy_x_1- = case happyOut260 happy_x_1 of { happy_var_1 -> - case happyOut277 happy_x_2 of { happy_var_2 -> - happyIn277- (PVar (ann happy_var_1) happy_var_1 : happy_var_2- )}}--happyReduce_754 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_754 = happySpecReduce_1 264# happyReduction_754-happyReduction_754 happy_x_1- = case happyOut260 happy_x_1 of { happy_var_1 -> - happyIn278- (([], [happy_var_1] )- )}--happyReduce_755 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_755 = happySpecReduce_3 264# happyReduction_755-happyReduction_755 happy_x_3- happy_x_2- happy_x_1- = case happyOut260 happy_x_1 of { happy_var_1 -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> - case happyOut278 happy_x_3 of { happy_var_3 -> - happyIn278- (let (ss, ns) = happy_var_3 in (happy_var_2 : ss, happy_var_1 : ns)- )}}}--happyReduce_756 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_756 = happyMonadReduce 4# 265# happyReduction_756-happyReduction_756 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> - case happyOut75 happy_x_3 of { happy_var_3 -> - case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> - ( checkExplicitPatSyn happy_var_1 happy_var_2 happy_var_3 happy_var_4)}}}})- ) (\r -> happyReturn (happyIn279 r))--happyReduce_757 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_757 = happyMonadReduce 4# 265# happyReduction_757-happyReduction_757 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> - case happyOut272 happy_x_2 of { happy_var_2 -> - case happyOut75 happy_x_3 of { happy_var_3 -> - case happyOut273 happy_x_4 of { happy_var_4 -> - ( checkExplicitPatSyn happy_var_1 happy_var_2 happy_var_3 happy_var_4)}}}})- ) (\r -> happyReturn (happyIn279 r))--happyReduce_758 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_758 = happyMonadReduce 4# 266# happyReduction_758-happyReduction_758 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> - case happyOut246 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> - case happyOut281 happy_x_4 of { happy_var_4 -> - ( do { checkEnabled PatternSynonyms ;- let {(qtvs, ps, prov, req, ty) = happy_var_4} ;- let {sig = PatSynSig (nIS happy_var_1 <++> ann ty <** [happy_var_1] ++ fst happy_var_2 ++ [happy_var_3] ++ ps) (snd happy_var_2) qtvs prov req ty} ;- return sig })}}}})- ) (\r -> happyReturn (happyIn280 r))--happyReduce_759 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_759 = happyReduce 4# 267# happyReduction_759-happyReduction_759 (happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> - case happyOut125 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> - case happyOut281 happy_x_4 of { happy_var_4 -> - happyIn281- (let (qtvs, ps, prov, req, ty) = happy_var_4- in (Just (reverse (fst happy_var_2) ++ fromMaybe [] qtvs), (happy_var_1 : happy_var_3 : ps), prov, req, ty)- ) `HappyStk` happyRest}}}}--happyReduce_760 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_760 = happyMonadReduce 3# 267# happyReduction_760-happyReduction_760 (happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut121 happy_x_1 of { happy_var_1 -> - case happyOut121 happy_x_2 of { happy_var_2 -> - case happyOut107 happy_x_3 of { happy_var_3 -> - ( do { c1 <- checkContext (Just happy_var_1) ;- c2 <- checkContext (Just happy_var_2) ;- t <- checkType happy_var_3 ;- return $ (Nothing, [], c1, c2, t) })}}})- ) (\r -> happyReturn (happyIn281 r))--happyReduce_761 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_761 = happyMonadReduce 2# 267# happyReduction_761-happyReduction_761 (happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut121 happy_x_1 of { happy_var_1 -> - case happyOut107 happy_x_2 of { happy_var_2 -> - ( do { c1 <- checkContext (Just happy_var_1);- t <- checkType happy_var_2;- return (Nothing, [], c1, Nothing, t) })}})- ) (\r -> happyReturn (happyIn281 r))--happyReduce_762 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_762 = happyMonadReduce 1# 267# happyReduction_762-happyReduction_762 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOut107 happy_x_1 of { happy_var_1 -> - ( checkType happy_var_1 >>= \t -> return (Nothing, [], Nothing, Nothing, t))})- ) (\r -> happyReturn (happyIn281 r))--happyReduce_763 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_763 = happyMonadReduce 1# 268# happyReduction_763-happyReduction_763 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Stock) -> - ( do { checkEnabled DerivingStrategies- ; return (Just (DerivStock (nIS happy_var_1))) })})- ) (\r -> happyReturn (happyIn282 r))--happyReduce_764 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_764 = happyMonadReduce 1# 268# happyReduction_764-happyReduction_764 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Anyclass) -> - ( do { checkEnabled DerivingStrategies- ; checkEnabled DeriveAnyClass- ; return (Just (DerivAnyclass (nIS happy_var_1))) })})- ) (\r -> happyReturn (happyIn282 r))--happyReduce_765 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_765 = happyMonadReduce 1# 268# happyReduction_765-happyReduction_765 (happy_x_1 `HappyStk`- happyRest) tk- = happyThen ((case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> - ( do { checkEnabled DerivingStrategies- ; checkEnabled GeneralizedNewtypeDeriving- ; return (Just (DerivNewtype (nIS happy_var_1))) })})- ) (\r -> happyReturn (happyIn282 r))--happyReduce_766 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_766 = happySpecReduce_0 268# happyReduction_766-happyReduction_766 = happyIn282- (Nothing- )--happyReduce_767 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_767 = happySpecReduce_1 269# happyReduction_767-happyReduction_767 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn283- (let Loc l (ConId n) = happy_var_1 in ModuleName (nIS l) n- )}--happyReduce_768 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_768 = happySpecReduce_1 269# happyReduction_768-happyReduction_768 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn283- (let Loc l (QConId n) = happy_var_1 in ModuleName (nIS l) (fst n ++ '.':snd n)- )}--happyReduce_769 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_769 = happySpecReduce_1 270# happyReduction_769-happyReduction_769 happy_x_1- = case happyOut245 happy_x_1 of { happy_var_1 -> - happyIn284- (happy_var_1- )}--happyReduce_770 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_770 = happySpecReduce_1 271# happyReduction_770-happyReduction_770 happy_x_1- = case happyOut247 happy_x_1 of { happy_var_1 -> - happyIn285- (happy_var_1- )}--happyReduce_771 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_771 = happySpecReduce_1 272# happyReduction_771-happyReduction_771 happy_x_1- = case happyOut287 happy_x_1 of { happy_var_1 -> - happyIn286- (happy_var_1- )}--happyReduce_772 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_772 = happySpecReduce_1 273# happyReduction_772-happyReduction_772 happy_x_1- = case happyOut259 happy_x_1 of { happy_var_1 -> - happyIn287- (happy_var_1- )}--happyReduce_773 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_773 = happySpecReduce_1 273# happyReduction_773-happyReduction_773 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> - happyIn287- (safe_name (nIS happy_var_1)- )}--happyReduce_774 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_774 = happySpecReduce_1 273# happyReduction_774-happyReduction_774 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> - happyIn287- (unsafe_name (nIS happy_var_1)- )}--happyReduce_775 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_775 = happySpecReduce_1 273# happyReduction_775-happyReduction_775 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> - happyIn287- (threadsafe_name (nIS happy_var_1)- )}--happyReduce_776 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_776 = happySpecReduce_3 274# happyReduction_776-happyReduction_776 happy_x_3- happy_x_2- happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> - case happyOut286 happy_x_2 of { happy_var_2 -> - case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> - happyIn288- (UnQual (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2- )}}}--happyReduce_777 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_777 = happySpecReduce_1 274# happyReduction_777-happyReduction_777 happy_x_1- = case happyOut289 happy_x_1 of { happy_var_1 -> - happyIn288- (UnQual (ann happy_var_1) happy_var_1- )}--happyReduce_778 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_778 = happySpecReduce_1 275# happyReduction_778-happyReduction_778 happy_x_1- = case happyOutTok happy_x_1 of { happy_var_1 -> - happyIn289- (let Loc l (VarSym x) = happy_var_1 in Symbol (nIS l) x- )}--happyReduce_779 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_779 = happySpecReduce_1 275# happyReduction_779-happyReduction_779 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> - happyIn289- (Symbol (nIS happy_var_1) "-"- )}--happyReduce_780 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_780 = happySpecReduce_1 275# happyReduction_780-happyReduction_780 happy_x_1- = case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> - happyIn289- (Symbol (nIS happy_var_1) "*"- )}--happyReduce_781 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_781 = happyReduce 5# 276# happyReduction_781-happyReduction_781 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> - case happyOut28 happy_x_2 of { happy_var_2 -> - case happyOut37 happy_x_3 of { happy_var_3 -> - case happyOut28 happy_x_4 of { happy_var_4 -> - case happyOutTok happy_x_5 of { (Loc happy_var_5 RightCurly) -> - happyIn290- (let (ids, ss) = happy_var_3 in (ids, happy_var_1 : reverse happy_var_2 ++ ss ++ reverse happy_var_4 ++ [happy_var_5], happy_var_1 <^^> happy_var_5)- ) `HappyStk` happyRest}}}}}--happyReduce_782 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_782 = happyReduce 5# 276# happyReduction_782-happyReduction_782 (happy_x_5 `HappyStk`- happy_x_4 `HappyStk`- happy_x_3 `HappyStk`- happy_x_2 `HappyStk`- happy_x_1 `HappyStk`- happyRest)- = case happyOut272 happy_x_1 of { happy_var_1 -> - case happyOut28 happy_x_2 of { happy_var_2 -> - case happyOut37 happy_x_3 of { happy_var_3 -> - case happyOut28 happy_x_4 of { happy_var_4 -> - case happyOut273 happy_x_5 of { happy_var_5 -> - happyIn290- (let (ids, ss) = happy_var_3 in (ids, happy_var_1 : reverse happy_var_2 ++ ss ++ reverse happy_var_4 ++ [happy_var_5], happy_var_1 <^^> happy_var_5)- ) `HappyStk` happyRest}}}}}--happyReduce_783 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_783 = happySpecReduce_3 277# happyReduction_783-happyReduction_783 happy_x_3- happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut283 happy_x_3 of { happy_var_3 -> - happyIn291- ((happy_var_1, Just happy_var_3)- )}}--happyReduce_784 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_784 = happySpecReduce_1 277# happyReduction_784-happyReduction_784 happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - happyIn291- ((happy_var_1, Nothing)- )}--happyReduce_785 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_785 = happySpecReduce_2 278# happyReduction_785-happyReduction_785 happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - happyIn292- ((happy_var_1, happy_var_2)- )}}--happyReduce_786 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_786 = happySpecReduce_3 279# happyReduction_786-happyReduction_786 happy_x_3- happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - case happyOut290 happy_x_3 of { happy_var_3 -> - happyIn293- ((happy_var_1, happy_var_2, Just happy_var_3)- )}}}--happyReduce_787 :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )-happyReduce_787 = happySpecReduce_2 279# happyReduction_787-happyReduction_787 happy_x_2- happy_x_1- = case happyOut18 happy_x_1 of { happy_var_1 -> - case happyOut23 happy_x_2 of { happy_var_2 -> - happyIn293- ((happy_var_1, happy_var_2, Nothing)- )}}--happyNewToken action sts stk- = lexer(\tk -> - let cont i = happyDoAction i tk action sts stk in- case tk of {- Loc _ EOF -> happyDoAction 156# tk action sts stk;- Loc _ (VarId _) -> cont 1#;- Loc _ (LabelVarId _) -> cont 2#;- Loc _ (QVarId _) -> cont 3#;- Loc _ (IDupVarId _) -> cont 4#;- Loc _ (ILinVarId _) -> cont 5#;- Loc _ (ConId _) -> cont 6#;- Loc _ (QConId _) -> cont 7#;- Loc _ (DVarId _) -> cont 8#;- Loc _ (VarSym _) -> cont 9#;- Loc _ (ConSym _) -> cont 10#;- Loc _ (QVarSym _) -> cont 11#;- Loc _ (QConSym _) -> cont 12#;- Loc _ (IntTok _) -> cont 13#;- Loc _ (FloatTok _) -> cont 14#;- Loc _ (Character _) -> cont 15#;- Loc _ (StringTok _) -> cont 16#;- Loc _ (IntTokHash _) -> cont 17#;- Loc _ (WordTokHash _) -> cont 18#;- Loc _ (FloatTokHash _) -> cont 19#;- Loc _ (DoubleTokHash _) -> cont 20#;- Loc _ (CharacterHash _) -> cont 21#;- Loc _ (StringHash _) -> cont 22#;- Loc happy_dollar_dollar LeftParen -> cont 23#;- Loc happy_dollar_dollar RightParen -> cont 24#;- Loc happy_dollar_dollar LeftHashParen -> cont 25#;- Loc happy_dollar_dollar RightHashParen -> cont 26#;- Loc happy_dollar_dollar SemiColon -> cont 27#;- Loc happy_dollar_dollar LeftCurly -> cont 28#;- Loc happy_dollar_dollar RightCurly -> cont 29#;- Loc happy_dollar_dollar VRightCurly -> cont 30#;- Loc happy_dollar_dollar LeftSquare -> cont 31#;- Loc happy_dollar_dollar RightSquare -> cont 32#;- Loc happy_dollar_dollar ParArrayLeftSquare -> cont 33#;- Loc happy_dollar_dollar ParArrayRightSquare -> cont 34#;- Loc happy_dollar_dollar Comma -> cont 35#;- Loc happy_dollar_dollar Underscore -> cont 36#;- Loc happy_dollar_dollar BackQuote -> cont 37#;- Loc happy_dollar_dollar Dot -> cont 38#;- Loc happy_dollar_dollar DotDot -> cont 39#;- Loc happy_dollar_dollar Colon -> cont 40#;- Loc happy_dollar_dollar DoubleColon -> cont 41#;- Loc happy_dollar_dollar Equals -> cont 42#;- Loc happy_dollar_dollar Backslash -> cont 43#;- Loc happy_dollar_dollar Bar -> cont 44#;- Loc happy_dollar_dollar LeftArrow -> cont 45#;- Loc happy_dollar_dollar RightArrow -> cont 46#;- Loc happy_dollar_dollar At -> cont 47#;- Loc happy_dollar_dollar TApp -> cont 48#;- Loc happy_dollar_dollar Tilde -> cont 49#;- Loc happy_dollar_dollar DoubleArrow -> cont 50#;- Loc happy_dollar_dollar Minus -> cont 51#;- Loc happy_dollar_dollar Exclamation -> cont 52#;- Loc happy_dollar_dollar Star -> cont 53#;- Loc happy_dollar_dollar LeftArrowTail -> cont 54#;- Loc happy_dollar_dollar RightArrowTail -> cont 55#;- Loc happy_dollar_dollar LeftDblArrowTail -> cont 56#;- Loc happy_dollar_dollar RightDblArrowTail -> cont 57#;- Loc happy_dollar_dollar RPGuardOpen -> cont 58#;- Loc happy_dollar_dollar RPGuardClose -> cont 59#;- Loc happy_dollar_dollar RPCAt -> cont 60#;- Loc _ (THIdEscape _) -> cont 61#;- Loc happy_dollar_dollar THParenEscape -> cont 62#;- Loc happy_dollar_dollar THExpQuote -> cont 63#;- Loc happy_dollar_dollar THPatQuote -> cont 64#;- Loc happy_dollar_dollar THTypQuote -> cont 65#;- Loc happy_dollar_dollar THDecQuote -> cont 66#;- Loc happy_dollar_dollar THCloseQuote -> cont 67#;- Loc happy_dollar_dollar THVarQuote -> cont 68#;- Loc happy_dollar_dollar THTyQuote -> cont 69#;- Loc _ (THQuasiQuote _) -> cont 70#;- Loc _ (XPCDATA _) -> cont 71#;- Loc happy_dollar_dollar XStdTagOpen -> cont 72#;- Loc happy_dollar_dollar XCloseTagOpen -> cont 73#;- Loc happy_dollar_dollar XCodeTagOpen -> cont 74#;- Loc happy_dollar_dollar XChildTagOpen -> cont 75#;- Loc happy_dollar_dollar XStdTagClose -> cont 76#;- Loc happy_dollar_dollar XEmptyTagClose -> cont 77#;- Loc happy_dollar_dollar XCodeTagClose -> cont 78#;- Loc happy_dollar_dollar XRPatOpen -> cont 79#;- Loc happy_dollar_dollar XRPatClose -> cont 80#;- Loc happy_dollar_dollar KW_Foreign -> cont 81#;- Loc happy_dollar_dollar KW_Export -> cont 82#;- Loc happy_dollar_dollar KW_Safe -> cont 83#;- Loc happy_dollar_dollar KW_Unsafe -> cont 84#;- Loc happy_dollar_dollar KW_Threadsafe -> cont 85#;- Loc happy_dollar_dollar KW_Interruptible -> cont 86#;- Loc happy_dollar_dollar KW_StdCall -> cont 87#;- Loc happy_dollar_dollar KW_CCall -> cont 88#;- Loc happy_dollar_dollar KW_CPlusPlus -> cont 89#;- Loc happy_dollar_dollar KW_DotNet -> cont 90#;- Loc happy_dollar_dollar KW_Jvm -> cont 91#;- Loc happy_dollar_dollar KW_Js -> cont 92#;- Loc happy_dollar_dollar KW_JavaScript -> cont 93#;- Loc happy_dollar_dollar KW_CApi -> cont 94#;- Loc happy_dollar_dollar KW_As -> cont 95#;- Loc happy_dollar_dollar KW_By -> cont 96#;- Loc happy_dollar_dollar KW_Case -> cont 97#;- Loc happy_dollar_dollar KW_Class -> cont 98#;- Loc happy_dollar_dollar KW_Data -> cont 99#;- Loc happy_dollar_dollar KW_Default -> cont 100#;- Loc happy_dollar_dollar KW_Deriving -> cont 101#;- Loc happy_dollar_dollar KW_Do -> cont 102#;- Loc happy_dollar_dollar KW_Else -> cont 103#;- Loc happy_dollar_dollar KW_Family -> cont 104#;- Loc happy_dollar_dollar KW_Forall -> cont 105#;- Loc happy_dollar_dollar KW_Group -> cont 106#;- Loc happy_dollar_dollar KW_Hiding -> cont 107#;- Loc happy_dollar_dollar KW_If -> cont 108#;- Loc happy_dollar_dollar KW_Import -> cont 109#;- Loc happy_dollar_dollar KW_In -> cont 110#;- Loc happy_dollar_dollar KW_Infix -> cont 111#;- Loc happy_dollar_dollar KW_InfixL -> cont 112#;- Loc happy_dollar_dollar KW_InfixR -> cont 113#;- Loc happy_dollar_dollar KW_Instance -> cont 114#;- Loc happy_dollar_dollar KW_Let -> cont 115#;- Loc happy_dollar_dollar KW_MDo -> cont 116#;- Loc happy_dollar_dollar KW_Module -> cont 117#;- Loc happy_dollar_dollar KW_NewType -> cont 118#;- Loc happy_dollar_dollar KW_Of -> cont 119#;- Loc happy_dollar_dollar KW_Proc -> cont 120#;- Loc happy_dollar_dollar KW_Rec -> cont 121#;- Loc happy_dollar_dollar KW_Then -> cont 122#;- Loc happy_dollar_dollar KW_Type -> cont 123#;- Loc happy_dollar_dollar KW_Using -> cont 124#;- Loc happy_dollar_dollar KW_Where -> cont 125#;- Loc happy_dollar_dollar KW_Qualified -> cont 126#;- Loc happy_dollar_dollar KW_Role -> cont 127#;- Loc happy_dollar_dollar KW_Pattern -> cont 128#;- Loc happy_dollar_dollar KW_Stock -> cont 129#;- Loc happy_dollar_dollar KW_Anyclass -> cont 130#;- Loc _ (INLINE _) -> cont 131#;- Loc happy_dollar_dollar INLINE_CONLIKE -> cont 132#;- Loc happy_dollar_dollar SPECIALISE -> cont 133#;- Loc _ (SPECIALISE_INLINE _) -> cont 134#;- Loc happy_dollar_dollar SOURCE -> cont 135#;- Loc happy_dollar_dollar RULES -> cont 136#;- Loc happy_dollar_dollar CORE -> cont 137#;- Loc happy_dollar_dollar SCC -> cont 138#;- Loc happy_dollar_dollar GENERATED -> cont 139#;- Loc happy_dollar_dollar DEPRECATED -> cont 140#;- Loc happy_dollar_dollar WARNING -> cont 141#;- Loc happy_dollar_dollar UNPACK -> cont 142#;- Loc happy_dollar_dollar NOUNPACK -> cont 143#;- Loc _ (OPTIONS _) -> cont 144#;- Loc happy_dollar_dollar LANGUAGE -> cont 145#;- Loc happy_dollar_dollar ANN -> cont 146#;- Loc happy_dollar_dollar MINIMAL -> cont 147#;- Loc happy_dollar_dollar NO_OVERLAP -> cont 148#;- Loc happy_dollar_dollar OVERLAP -> cont 149#;- Loc happy_dollar_dollar OVERLAPS -> cont 150#;- Loc happy_dollar_dollar OVERLAPPING -> cont 151#;- Loc happy_dollar_dollar OVERLAPPABLE -> cont 152#;- Loc happy_dollar_dollar INCOHERENT -> cont 153#;- Loc happy_dollar_dollar COMPLETE -> cont 154#;- Loc happy_dollar_dollar PragmaEnd -> cont 155#;- _ -> happyError' (tk, [])- })--happyError_ explist 156# tk = happyError' (tk, explist)-happyError_ explist _ tk = happyError' (tk, explist)--happyThen :: () => P a -> (a -> P b) -> P b-happyThen = (>>=)-happyReturn :: () => a -> P a-happyReturn = (return)-happyParse :: () => Happy_GHC_Exts.Int# -> P (HappyAbsSyn )--happyNewToken :: () => Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )--happyDoAction :: () => Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn )--happyReduceArr :: () => Happy_Data_Array.Array Int (Happy_GHC_Exts.Int# -> Loc Token -> Happy_GHC_Exts.Int# -> Happy_IntList -> HappyStk (HappyAbsSyn ) -> P (HappyAbsSyn ))--happyThen1 :: () => P a -> (a -> P b) -> P b-happyThen1 = happyThen-happyReturn1 :: () => a -> P a-happyReturn1 = happyReturn-happyError' :: () => ((Loc Token), [String]) -> P a-happyError' tk = (\(tokens, _) -> parseError tokens) tk-mparseModule = happySomeParser where- happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut16 x))--mparseExp = happySomeParser where- happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut174 x))--mparsePat = happySomeParser where- happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut224 x))--mparseDeclAux = happySomeParser where- happySomeParser = happyThen (happyParse 3#) (\x -> happyReturn (happyOut25 x))--mparseType = happySomeParser where- happySomeParser = happyThen (happyParse 4#) (\x -> happyReturn (happyOut119 x))--mparseStmt = happySomeParser where- happySomeParser = happyThen (happyParse 5#) (\x -> happyReturn (happyOut231 x))--mparseImportDecl = happySomeParser where- happySomeParser = happyThen (happyParse 6#) (\x -> happyReturn (happyOut38 x))--ngparseModulePragmas = happySomeParser where- happySomeParser = happyThen (happyParse 7#) (\x -> happyReturn (happyOut18 x))--ngparseModuleHeadAndImports = happySomeParser where- happySomeParser = happyThen (happyParse 8#) (\x -> happyReturn (happyOut293 x))--ngparsePragmasAndModuleHead = happySomeParser where- happySomeParser = happyThen (happyParse 9#) (\x -> happyReturn (happyOut292 x))--ngparsePragmasAndModuleName = happySomeParser where- happySomeParser = happyThen (happyParse 10#) (\x -> happyReturn (happyOut291 x))--happySeq = happyDontSeq---type L = SrcSpanInfo -- just for convenience-type S = SrcSpan--parseError :: Loc Token -> P a-parseError t = fail $ "Parse error: " ++ showToken (unLoc t)--(<>) :: (Annotated a, Annotated b) => a SrcSpanInfo -> b SrcSpanInfo -> SrcSpanInfo-a <> b = ann a <++> ann b-infixl 6 <>--nIS = noInfoSpan-iS = infoSpan--mparseDecl :: P (Decl SrcSpanInfo)-mparseDecl = do- (is, ds, _, _) <- mparseDeclAux- when (not $ null is) $- fail $ "Expected single declaration, found import declaration"- checkSingleDecl ds-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}-{-# LINE 1 "<built-in>" #-}-{-# LINE 1 "<command-line>" #-}-{-# LINE 11 "<command-line>" #-}-# 1 "/nix/store/z2v959r3xw6rr3srz5vfzv63dy7mq98i-glibc-2.27-dev/include/stdc-predef.h" 1 3 4--# 17 "/nix/store/z2v959r3xw6rr3srz5vfzv63dy7mq98i-glibc-2.27-dev/include/stdc-predef.h" 3 4-----------------------------------------------{-# LINE 11 "<command-line>" #-}-{-# LINE 1 "/nix/store/a0dr5x063v0zm8z0z5fwh8dldg10yl07-ghc-8.4.3/lib/ghc-8.4.3/include/ghcversion.h" #-}----------------{-# LINE 11 "<command-line>" #-}-{-# LINE 1 "/build/ghc2026_0/ghc_2.h" #-}-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------{-# LINE 11 "<command-line>" #-}-{-# LINE 1 "templates/GenericTemplate.hs" #-}--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp ---------------- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ > 706-#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool)-#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool)-#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool)-#else-#define LT(n,m) (n Happy_GHC_Exts.<# m)-#define GTE(n,m) (n Happy_GHC_Exts.>=# m)-#define EQ(n,m) (n Happy_GHC_Exts.==# m)-#endif-{-# LINE 43 "templates/GenericTemplate.hs" #-}--data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList--------{-# LINE 65 "templates/GenericTemplate.hs" #-}--{-# LINE 75 "templates/GenericTemplate.hs" #-}--{-# LINE 84 "templates/GenericTemplate.hs" #-}--infixr 9 `HappyStk`-data HappyStk a = HappyStk a (HappyStk a)---------------------------------------------------------------------------------- starting the parse--happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll---------------------------------------------------------------------------------- Accepting the parse---- If the current token is 0#, it means we've just accepted a partial--- parse (a %partial parser). We must ignore the saved token on the top of--- the stack in this case.-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =- happyReturn1 ans-happyAccept j tk st sts (HappyStk ans _) = - (happyTcHack j (happyTcHack st)) (happyReturn1 ans)---------------------------------------------------------------------------------- Arrays only: do the next action----happyDoAction i tk st- = {- nothing -}--- case action of- 0# -> {- nothing -}- happyFail (happyExpListPerState ((Happy_GHC_Exts.I# (st)) :: Int)) i tk st- -1# -> {- nothing -}- happyAccept i tk st- n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}-- (happyReduceArr Happy_Data_Array.! rule) i tk st- where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))- n -> {- nothing -}--- happyShift new_state i tk st- where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))- where off = happyAdjustOffset (indexShortOffAddr happyActOffsets st)- off_i = (off Happy_GHC_Exts.+# i)- check = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))- then EQ(indexShortOffAddr happyCheck off_i, i)- else False- action- | check = indexShortOffAddr happyTable off_i- | otherwise = indexShortOffAddr happyDefActions st-----indexShortOffAddr (HappyA# arr) off =- Happy_GHC_Exts.narrow16Int# i- where- i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)- high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))- low = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))- off' = off Happy_GHC_Exts.*# 2#-----{-# INLINE happyLt #-}-happyLt x y = LT(x,y)---readArrayBit arr bit =- Bits.testBit (Happy_GHC_Exts.I# (indexShortOffAddr arr ((unbox_int bit) `Happy_GHC_Exts.iShiftRA#` 4#))) (bit `mod` 16)- where unbox_int (Happy_GHC_Exts.I# x) = x-------data HappyAddr = HappyA# Happy_GHC_Exts.Addr#----------------------------------------------------------------------------------- HappyState data type (not arrays)--{-# LINE 180 "templates/GenericTemplate.hs" #-}---------------------------------------------------------------------------------- Shifting a token--happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "shifting the error token" $- happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)--happyShift new_state i tk st sts stk =- happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)---- happyReduce is specialised for the common cases.--happySpecReduce_0 i fn 0# tk st sts stk- = happyFail [] 0# tk st sts stk-happySpecReduce_0 nt fn j tk st@((action)) sts stk- = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)--happySpecReduce_1 i fn 0# tk st sts stk- = happyFail [] 0# tk st sts stk-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')- = let r = fn v1 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_2 i fn 0# tk st sts stk- = happyFail [] 0# tk st sts stk-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')- = let r = fn v1 v2 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happySpecReduce_3 i fn 0# tk st sts stk- = happyFail [] 0# tk st sts stk-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')- = let r = fn v1 v2 v3 in- happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))--happyReduce k i fn 0# tk st sts stk- = happyFail [] 0# tk st sts stk-happyReduce k nt fn j tk st sts stk- = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of- sts1@((HappyCons (st1@(action)) (_))) ->- let r = fn stk in -- it doesn't hurt to always seq here...- happyDoSeq r (happyGoto nt j tk st1 sts1 r)--happyMonadReduce k nt fn 0# tk st sts stk- = happyFail [] 0# tk st sts stk-happyMonadReduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk in- happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))--happyMonad2Reduce k nt fn 0# tk st sts stk- = happyFail [] 0# tk st sts stk-happyMonad2Reduce k nt fn j tk st sts stk =- case happyDrop k (HappyCons (st) (sts)) of- sts1@((HappyCons (st1@(action)) (_))) ->- let drop_stk = happyDropStk k stk-- off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st1)- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i----- in- happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))--happyDrop 0# l = l-happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t--happyDropStk 0# l = l-happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs---------------------------------------------------------------------------------- Moving to a new state after a reduction---happyGoto nt j tk st = - {- nothing -}- happyDoAction j tk new_state- where off = happyAdjustOffset (indexShortOffAddr happyGotoOffsets st)- off_i = (off Happy_GHC_Exts.+# nt)- new_state = indexShortOffAddr happyTable off_i------------------------------------------------------------------------------------- Error recovery (0# is the error token)---- parse error if we are in recovery and we fail again-happyFail explist 0# tk old_st _ stk@(x `HappyStk` _) =- let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in--- trace "failing" $ - happyError_ explist i tk--{- We don't need state discarding for our restricted implementation of- "error". In fact, it can cause some bogus parses, so I've disabled it- for now --SDM---- discard a state-happyFail 0# tk old_st (HappyCons ((action)) (sts)) - (saved_tok `HappyStk` _ `HappyStk` stk) =--- trace ("discarding state, depth " ++ show (length stk)) $- happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))--}---- Enter error recovery: generate an error token,--- save the old token and carry on.-happyFail explist i tk (action) sts stk =--- trace "entering error recovery" $- happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)---- Internal happy errors:--notHappyAtAll :: a-notHappyAtAll = error "Internal Happy error\n"---------------------------------------------------------------------------------- Hack to get the typechecker to accept our action functions---happyTcHack :: Happy_GHC_Exts.Int# -> a -> a-happyTcHack x y = y-{-# INLINE happyTcHack #-}----------------------------------------------------------------------------------- Seq-ing. If the --strict flag is given, then Happy emits --- happySeq = happyDoSeq--- otherwise it emits--- happySeq = happyDontSeq--happyDoSeq, happyDontSeq :: a -> b -> b-happyDoSeq a b = a `seq` b-happyDontSeq a b = b---------------------------------------------------------------------------------- Don't inline any functions from the template. GHC has a nasty habit--- of deciding to inline happyGoto everywhere, which increases the size of--- the generated parser quite a bit.---{-# NOINLINE happyDoAction #-}-{-# NOINLINE happyTable #-}-{-# NOINLINE happyCheck #-}-{-# NOINLINE happyActOffsets #-}-{-# NOINLINE happyGotoOffsets #-}-{-# NOINLINE happyDefActions #-}--{-# NOINLINE happyShift #-}-{-# NOINLINE happySpecReduce_0 #-}-{-# NOINLINE happySpecReduce_1 #-}-{-# NOINLINE happySpecReduce_2 #-}-{-# NOINLINE happySpecReduce_3 #-}-{-# NOINLINE happyReduce #-}-{-# NOINLINE happyMonadReduce #-}-{-# NOINLINE happyGoto #-}-{-# NOINLINE happyFail #-}---- end of Happy Template.
haskell-src-exts.cabal view
@@ -1,10 +1,10 @@ Name: haskell-src-exts-Version: 1.20.3+Version: 1.24.0 License: BSD3 License-File: LICENSE Build-Type: Simple Author: Niklas Broberg-Maintainer: Matthew Pickering <matthewtpickering@gmail.com>+Maintainer: Dan Burton <danburton.email@gmail.com> Category: Language Synopsis: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer Description: Haskell-Source with Extensions (HSE, haskell-src-exts)@@ -15,16 +15,10 @@ it also handles regular patterns as per the HaRP extension as well as HSX-style embedded XML syntax. Homepage: https://github.com/haskell-suite/haskell-src-exts+Bug-Reports: https://github.com/haskell-suite/haskell-src-exts/issues Stability: Stable Cabal-Version: >= 1.10-Tested-With:- GHC == 7.6.3- , GHC == 7.8.2- , GHC == 7.10.3- , GHC == 8.0.2- , GHC == 8.2.2- , GHC == 8.4.1- , GHC == 8.6.1+Tested-With: GHC == 9.14.1 Extra-Source-Files: README.md@@ -46,15 +40,16 @@ Library Default-language: Haskell98 Build-Tools: happy >= 1.19- Build-Depends: array >= 0.1, pretty >= 1.0,+ Build-Depends: array >= 0.1 && < 0.6,+ pretty >= 1.0 && < 1.2, base >= 4.5 && < 5, -- this is needed to access GHC.Generics on GHC 7.4- ghc-prim+ ghc-prim < 0.14 -- this is needed to access Data.Semigroup and Control.Monad.Fail on GHCs -- before 8.0 if !impl(ghc >= 8.0) Build-Depends:- semigroups >= 0.18.3,+ semigroups >= 0.18.3 && < 0.21, fail == 4.9.* Exposed-modules: Language.Haskell.Exts,@@ -91,7 +86,7 @@ other-modules: Extensions GHC-Options: -threaded -Wall Default-language: Haskell2010- Build-depends: base < 5,+ Build-depends: base, mtl, containers, haskell-src-exts,
src/Language/Haskell/Exts.hs view
@@ -160,7 +160,9 @@ readUTF8File fp = do h <- openFile fp ReadMode hSetEncoding h utf8- hGetContents h+ c <- hGetContents h >>= \s -> length s `seq` return s+ hClose h+ return c -- | Converts a parse result with comments to a parse result with comments and -- unknown pragmas.
src/Language/Haskell/Exts/Build.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Build
src/Language/Haskell/Exts/Comments.hs view
@@ -1,4 +1,5 @@-{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveDataTypeable, Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Comments
src/Language/Haskell/Exts/ExactPrint.hs view
@@ -1,5 +1,5 @@-{-# LANGUAGE DeriveFunctor #-}-{-# LANGUAGE CPP #-}+{-# LANGUAGE CPP, DeriveFunctor, Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Annotated.ExactPrint@@ -25,6 +25,7 @@ import Language.Haskell.Exts.Comments import Control.Monad (when, liftM, ap, unless)+import qualified Control.Monad.Fail as Fail #if __GLASGOW_HASKELL__ < 710 import Control.Applicative (Applicative(..)) #endif@@ -46,11 +47,10 @@ fmap = liftM instance Applicative EP where- pure = return+ pure x = EP $ \l cs -> (x, l, cs, id) (<*>) = ap instance Monad EP where- return x = EP $ \l cs -> (x, l, cs, id) EP m >>= k = EP $ \l0 c0 -> let (a, l1, c1, s1) = m l0 c0@@ -58,6 +58,9 @@ (b, l2, c2, s2) = f l1 c1 in (b, l2, c2, s1 . s2) +instance Fail.MonadFail EP where+ fail = error+ runEP :: EP () -> [Comment] -> String runEP (EP f) cs = let (_,_,_,s) = f (1,1) cs in s "" @@ -410,13 +413,18 @@ return pts' _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints" else return pts1- pts3 <- if qf then- case pts2 of- x:pts' -> do++ -- Try to determine if qualified is post-positioned only if we have enough points+ let isPostQual = (qf && not (null pts2)) && safeIsPostQualified pts2++ pts3 <- if qf && not isPostQual then+ case pts2 of+ x:pts' -> do printStringAt (pos x) "qualified" return pts'- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints" else return pts2+ pts4 <- case mpkg of Just pkg -> case pts3 of@@ -425,20 +433,44 @@ return pts' _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints" _ -> return pts3+ exactPC mn- _ <- case mas of- Just as ->++ -- Only try post-qualified if we determined it's actually post-qualified+ pts5 <- if qf && isPostQual then case pts4 of x:pts' -> do+ printStringAt (pos x) "qualified"+ return pts'+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ else return pts4++ _ <- case mas of+ Just as ->+ case pts5 of+ x:pts' -> do printStringAt (pos x) "as" exactPC as return pts'- _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"- _ -> return pts4+ _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ _ -> return pts5+ case mispecs of Nothing -> return () Just ispecs -> exactPC ispecs _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"+ where safeIsPostQualified pts =+ case pts of+ (p:_) ->+ let modSpan = srcInfoSpan (ann mn)+ -- Only consider it post-qualified if we have valid spans to compare+ in ((isValidSpan modSpan && isValidSpan p) &&+ (srcSpanEnd modSpan <= srcSpanStart p))+ _ -> False+ where+ isValidSpan s =+ srcSpanStartLine s > 0 && srcSpanEndLine s > 0 &&+ srcSpanStartColumn s >= 0 && srcSpanEndColumn s >= 0 instance ExactP Module where exactP mdl = case mdl of@@ -729,11 +761,12 @@ printStringAt (pos (last pts)) ")" _ -> errorEP "ExactP: Decl: DefaultDecl is given too few srcInfoPoints" SpliceDecl _ spl -> exactP spl+ TSpliceDecl _ spl -> exactP spl TypeSig l ns t -> do let pts = srcInfoPoints l printInterleaved' (zip pts (replicate (length pts - 1) "," ++ ["::"])) ns exactPC t- PatSynSig l ns dh c1 c2 t -> do+ PatSynSig l ns dh c1 _ c2 t -> do let (pat:pts) = srcInfoPoints l printStringAt (pos pat) "pattern" printInterleaved' (zip pts (replicate (length ns - 1) "," ++ ["::"])) ns@@ -1037,42 +1070,6 @@ [] -> exactPC n _ -> errorEP "ExactP: TyVarBind: UnkindedVar is given wrong number of srcInfoPoints" -instance ExactP Kind where- exactP kd' = case kd' of- KindStar _ -> printString "*"- KindFn l k1 k2 ->- case srcInfoPoints l of- [a] -> do- exactP k1- printStringAt (pos a) "->"- exactPC k2- _ -> errorEP "ExactP: Kind: KindFn is given wrong number of srcInfoPoints"- KindParen l kd ->- case srcInfoPoints l of- [_,b] -> do- printString "("- exactPC kd- printStringAt (pos b) ")"- _ -> errorEP "ExactP: Kind: KindParen is given wrong number of srcInfoPoints"- KindVar _ n -> epQName n- KindApp _ k1 k2 -> do- exactP k1- exactPC k2- KindTuple l ks ->- let o = "("- e = ")"- pts = srcInfoPoints l- in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) ks- KindList l k ->- case srcInfoPoints l of- [_, close] -> do- printString "["- exactPC k- printStringAt (pos close) "]"- _ -> errorEP "ExactP: Kind: KindList is given wrong number of srcInfoPoints"--- instance ExactP Type where exactP t' = case t' of TyForall l mtvs mctxt t -> do@@ -1089,6 +1086,7 @@ _ -> errorEP "ExactP: Type: TyForall is given too few srcInfoPoints" maybeEP exactPC mctxt exactPC t+ TyStar _ -> printString "*" TyFun l t1 t2 -> case srcInfoPoints l of [a] -> do@@ -1202,9 +1200,7 @@ instance ExactP Asst where exactP asst = case asst of- ClassA _ qn ts -> exactP qn >> mapM_ exactPC ts- AppA _ n ns -> exactPC n >> mapM_ exactPC ns- InfixA _ ta qn tb -> exactP ta >> epInfixQName qn >> exactPC tb+ TypeA _ t -> exactP t IParam l ipn t -> case srcInfoPoints l of [a] -> do@@ -1212,13 +1208,6 @@ printStringAt (pos a) "::" exactPC t _ -> errorEP "ExactP: Asst: IParam is given wrong number of srcInfoPoints"- EqualP l t1 t2 ->- case srcInfoPoints l of- [a] -> do- exactP t1- printStringAt (pos a) "~"- exactPC t2- _ -> internalError "Asst -> EqualP" ParenA l asst' -> case take 2 $ srcInfoPoints l of [a,b] -> do@@ -1226,7 +1215,6 @@ exactPC asst' printStringAt (pos b) ")" _ -> errorEP "ExactP: Asst: ParenA is given wrong number of srcInfoPoints"- WildCardA _ mn -> printString "_" >> maybeEP exactPC mn instance ExactP Deriving where exactP (Deriving l mds ihs) =@@ -1246,6 +1234,9 @@ printString "anyclass" exactP (DerivNewtype _) = printString "newtype"+ exactP (DerivVia _ ty) = do+ printString "via"+ exactP ty instance ExactP ClassDecl where exactP cdecl = case cdecl of@@ -1361,7 +1352,7 @@ RecDecl l n fds -> exactP n >> curlyList (srcInfoPoints l) fds instance ExactP GadtDecl where- exactP (GadtDecl l n ns' t) =+ exactP (GadtDecl l n _mtvs mctxt ns' t) = case ns' of Nothing -> case srcInfoPoints l of@@ -1375,6 +1366,7 @@ (a:b:c:d:rest) -> do exactPC n printStringAt (pos a) "::"+ maybeEP exactPC mctxt printStringAt (pos b) "{" printInterleaved' (zip rest (repeat ",")) ts printStringAt (pos c) "}"@@ -1406,13 +1398,18 @@ instance ExactP Splice where exactP (IdSplice _ str) = printString $ '$':str- exactP (ParenSplice l e) =+ exactP (TIdSplice _ str) = printString $ "$$" ++ str+ exactP (ParenSplice l e) = printParen "ParenSplice" "$(" l e+ exactP (TParenSplice l e) = printParen "TParenSplice" "$$(" l e++printParen :: ExactP ast => String -> String -> SrcSpanInfo -> ast SrcSpanInfo -> EP ()+printParen con paren l e = case srcInfoPoints l of [_,b] -> do- printString "$("+ printString paren exactPC e printStringAt (pos b) ")"- _ -> errorEP "ExactP: Splice: ParenSplice is given wrong number of srcInfoPoints"+ _ -> errorEP $ "ExactP: Splice: " ++ con ++ " is given wrong number of srcInfoPoints" instance ExactP Exp where exactP exp = case exp of@@ -1758,6 +1755,13 @@ exactPC e2 _ -> errorEP "ExactP: Exp: RightArrHighApp is given wrong number of srcInfoPoints" + ArrOp l e -> case srcInfoPoints l of+ [a, b] -> do+ printStringAt (pos a) "(|"+ exactPC e+ printStringAt (pos b) "|)"+ _ -> errorEP "ExactP: Exp: ArrOp is given wrong number of srcInfoPoints"+ LCase l alts -> case srcInfoPoints l of _:b:pts -> do@@ -1837,27 +1841,10 @@ instance ExactP Bracket where exactP br = case br of- ExpBracket l e ->- case srcInfoPoints l of- [_,b] -> do- printString "[|"- exactPC e- printStringAt (pos b) "|]"- _ -> errorEP "ExactP: Bracket: ExpBracket is given wrong number of srcInfoPoints"- PatBracket l p ->- case srcInfoPoints l of- [_,b] -> do- printString "[p|"- exactPC p- printStringAt (pos b) "|]"- _ -> errorEP "ExactP: Bracket: PatBracket is given wrong number of srcInfoPoints"- TypeBracket l t ->- case srcInfoPoints l of- [_,b] -> do- printString "[t|"- exactPC t- printStringAt (pos b) "|]"- _ -> errorEP "ExactP: Bracket: TypeBracket is given wrong number of srcInfoPoints"+ ExpBracket l e -> printBracket "ExpBracket" "[|" "|]" l e+ TExpBracket l e -> printBracket "TExpBracket" "[||" "||]" l e+ PatBracket l p -> printBracket "PatBracket" "[p|" "|]" l p+ TypeBracket l t -> printBracket "TypeBracket" "[t|" "|]" l t DeclBracket l ds -> case srcInfoPoints l of pts@(_:_) -> do@@ -1865,6 +1852,15 @@ layoutList (init pts) (sepFunBinds ds) printStringAt (pos (last pts)) "|]" _ -> errorEP "ExactP: Bracket: DeclBracket is given too few srcInfoPoints"++printBracket :: ExactP ast => String -> String -> String -> SrcSpanInfo -> ast SrcSpanInfo -> EP ()+printBracket con oBracket cBracket l c =+ case srcInfoPoints l of+ [_,b] -> do+ printString oBracket+ exactPC c+ printStringAt (pos b) cBracket+ _ -> errorEP $ "ExactP: Bracket: " ++ con ++ " is given wrong number of srcInfoPoints" instance ExactP XAttr where exactP (XAttr l xn e) =
src/Language/Haskell/Exts/ExtScheme.hs view
@@ -1,4 +1,6 @@+{-# LANGUAGE Safe #-} {-# OPTIONS_HADDOCK hide #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.ExtScheme
src/Language/Haskell/Exts/Extension.hs view
@@ -1,5 +1,5 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE CPP #-}+{-# LANGUAGE CPP, DeriveDataTypeable, Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Extension@@ -375,6 +375,8 @@ -- > import "network" Network.Socket | PackageImports + | ImportQualifiedPost+ | LambdaCase -- | [GHC § 7.3.20] Allow case expressions with no alternatives.@@ -546,6 +548,20 @@ | UnboxedSums + | TypeInType++ | Strict++ | StrictData++ -- | Enable deriving instances via types of the same runtime representation.+ -- Implies 'DerivingStrategies'.+ | DerivingVia++ | QuantifiedConstraints++ | BlockArguments+ deriving (Show, Read, Eq, Ord, Enum, Bounded, Data, Typeable) -- | Certain extensions imply other extensions, and this function@@ -581,9 +597,12 @@ ImpredicativeTypes -> [ExplicitForAll] PolyKinds -> [KindSignatures] TypeFamilyDependencies -> [TypeFamilies]+ TypeInType -> [PolyKinds, DataKinds, KindSignatures]+ TypeOperators -> [ExplicitNamespaces] -- Deprecations RecordPuns -> [NamedFieldPuns] PatternSignatures -> [ScopedTypeVariables]+ DerivingVia -> [DerivingStrategies] _ -> [] -- | The list of extensions enabled by
src/Language/Haskell/Exts/Fixity.hs view
@@ -1,5 +1,5 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE CPP #-}+{-# LANGUAGE CPP, DeriveDataTypeable, Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Fixity@@ -39,6 +39,7 @@ import Language.Haskell.Exts.SrcLoc import Control.Monad (when, (<=<), liftM, liftM2, liftM3, liftM4)+import qualified Control.Monad.Fail as Fail import Data.Traversable (mapM) import Data.Maybe (fromMaybe) import Data.Typeable@@ -59,9 +60,9 @@ -- | Tweak any expressions in the element to account for the -- fixities given. Assumes that all operator expressions are -- fully left associative chains to begin with.- applyFixities :: Monad m => [Fixity] -- ^ The fixities to account for.- -> ast SrcSpanInfo -- ^ The element to tweak.- -> m (ast SrcSpanInfo) -- ^ The same element, but with operator expressions updated, or a failure.+ applyFixities :: Fail.MonadFail m => [Fixity] -- ^ The fixities to account for.+ -> ast SrcSpanInfo -- ^ The element to tweak.+ -> m (ast SrcSpanInfo) -- ^ The same element, but with operator expressions updated, or a failure. assocNone, assocLeft, assocRight :: Assoc () assocNone = AssocNone ()@@ -141,7 +142,7 @@ [infixr_ 9 ["."] ,infixl_ 9 ["!!"] ,infixr_ 8 ["^","^^","**"]- ,infixl_ 7 ["*","/","`quot`","`rem`","`div`","`mod`",":%","%"]+ ,infixl_ 7 ["*","/","`quot`","`rem`","`div`","`mod`"] ,infixl_ 6 ["+","-"] ,infixr_ 5 [":","++"] ,infix_ 4 ["==","/=","<","<=",">=",">","`elem`","`notElem`"]@@ -161,15 +162,17 @@ baseFixities :: [Fixity] baseFixities = preludeFixities ++ concat [infixl_ 9 ["!","//","!:"]+ ,infixr_ 9 ["`Compose`"] ,infixl_ 8 ["`shift`","`rotate`","`shiftL`","`shiftR`","`rotateL`","`rotateR`"]- ,infixl_ 7 [".&."]+ ,infixl_ 7 [".&.","%"]+ ,infixr_ 6 ["<>"] ,infixl_ 6 ["`xor`"] ,infix_ 6 [":+"] ,infixl_ 5 [".|."]- ,infixr_ 5 ["+:+","<++","<+>"] -- fixity conflict for +++ between ReadP and Arrow+ ,infixr_ 5 ["+:+","<++","<+>","<|"] -- fixity conflict for +++ between ReadP and Arrow ,infix_ 5 ["\\\\"]- ,infixl_ 4 ["<**>"]- ,infix_ 4 ["`elemP`","`notElemP`"]+ ,infixl_ 4 ["<**>","$>","<$","<$!>"]+ ,infix_ 4 ["`elemP`","`notElemP`",":~:",":~~:"] ,infixl_ 3 ["<|>"] ,infixr_ 3 ["&&&","***"] ,infixr_ 2 ["+++","|||"]@@ -239,7 +242,7 @@ _ -> return dir where fix x = applyFixities fixs x -appFixDecls :: Monad m => Maybe (ModuleName SrcSpanInfo) -> [Fixity] -> [Decl SrcSpanInfo] -> m [Decl SrcSpanInfo]+appFixDecls :: Fail.MonadFail m => Maybe (ModuleName SrcSpanInfo) -> [Fixity] -> [Decl SrcSpanInfo] -> m [Decl SrcSpanInfo] appFixDecls mmdl fixs decls = let extraFixs = getFixities mmdl decls in mapM (applyFixities (fixs++extraFixs)) decls@@ -377,7 +380,7 @@ -- Recursively fixes the "leaves" of the infix chains, -- without yet touching the chain itself. We assume all chains are -- left-associate to begin with.-leafFix :: Monad m => [Fixity] -> Exp SrcSpanInfo -> m (Exp SrcSpanInfo)+leafFix :: Fail.MonadFail m => [Fixity] -> Exp SrcSpanInfo -> m (Exp SrcSpanInfo) leafFix fixs e' = case e' of InfixApp l e1 op e2 -> liftM2 (flip (InfixApp l) op) (leafFix fixs e1) (fix e2) App l e1 e2 -> liftM2 (App l) (fix e1) (fix e2)@@ -425,7 +428,7 @@ where fix x = applyFixities fixs x -leafFixP :: Monad m => [Fixity] -> Pat SrcSpanInfo -> m (Pat SrcSpanInfo)+leafFixP :: Fail.MonadFail m => [Fixity] -> Pat SrcSpanInfo -> m (Pat SrcSpanInfo) leafFixP fixs p' = case p' of PInfixApp l p1 op p2 -> liftM2 (flip (PInfixApp l) op) (leafFixP fixs p1) (fix p2) PApp l n ps -> liftM (PApp l n) $ mapM fix ps
src/Language/Haskell/Exts/InternalLexer.hs view
@@ -1,4 +1,7 @@+{-# LANGUAGE Safe #-}+{-# LANGUAGE BangPatterns #-} {-# OPTIONS_HADDOCK hide #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Annotated.InternalLexer@@ -99,15 +102,21 @@ | RightArrowTail -- >- | LeftDblArrowTail -- -<< | RightDblArrowTail -- >>-+ | OpenArrowBracket -- (|+ | CloseArrowBracket -- |) -- Template Haskell | THExpQuote -- [| or [e|+ | THTExpQuote -- [|| or [e|| | THPatQuote -- [p| | THDecQuote -- [d| | THTypQuote -- [t| | THCloseQuote -- |]+ | THTCloseQuote -- ||] | THIdEscape (String) -- dollar x | THParenEscape -- dollar (+ | THTIdEscape String -- dollar dollar x+ | THTParenEscape -- double dollar ( | THVarQuote -- 'x (but without the x) | THTyQuote -- ''T (but without the T) | THQuasiQuote (String,String) -- [$...|...]@@ -197,6 +206,7 @@ | KW_Pattern | KW_Stock | KW_Anyclass+ | KW_Via -- FFI | KW_Foreign@@ -295,8 +305,9 @@ ( "where", (KW_Where, Nothing) ), ( "role", (KW_Role, Just (Any [RoleAnnotations]))), ( "pattern", (KW_Pattern, Just (Any [PatternSynonyms]))),- ( "stock", (KW_Stock, Nothing)),- ( "anyclass", (KW_Anyclass, Nothing)),+ ( "stock", (KW_Stock, Just (Any [DerivingStrategies]))),+ ( "anyclass", (KW_Anyclass, Just (Any [DerivingStrategies]))),+ ( "via", (KW_Via, Just (Any [DerivingVia]))), -- FFI ( "foreign", (KW_Foreign, Just (Any [ForeignFunctionInterface])) )@@ -363,11 +374,16 @@ isPragmaChar c = isAlphaNum c || c == '_' +isIdentStart :: Char -> Bool+isIdentStart c = isAlpha c && not (isUpper c) || c == '_'++ -- Used in the lexing of type applications -- Why is it like this? I don't know exactly but this is how it is in -- GHC's parser.+-- Symbol `:` is added so that `@:` is lexed as `VarSym "@:"`. See Issue #326 isOpSymbol :: Char -> Bool-isOpSymbol c = c `elem` "!#$%&*+./<=>?@\\^|-~"+isOpSymbol c = c `elem` ":!#$%&*+./<=>?@\\^|-~" -- | Checks whether the character would be legal in some position of a qvar. -- Means that '..' and "AAA" will pass the test.@@ -663,31 +679,39 @@ return (con (n, '0':c:str)) -- implicit parameters- '?':c:_ | isLower c && ImplicitParams `elem` exts -> do+ '?':c:_ | isIdentStart c && ImplicitParams `elem` exts -> do discard 1 id <- lexWhile isIdent return $ IDupVarId id - '%':c:_ | isLower c && ImplicitParams `elem` exts -> do+ '%':c:_ | isIdentStart c && ImplicitParams `elem` exts -> do discard 1 id <- lexWhile isIdent return $ ILinVarId id -- end implicit parameters -- harp--- '(':'|':c:_ | isHSymbol c -> discard 1 >> return LeftParen '(':'|':c:_ | RegularPatterns `elem` exts && not (isHSymbol c) ->- do discard 2- return RPGuardOpen- '|':')':_ | RegularPatterns `elem` exts ->- do discard 2- return RPGuardClose+ discard 2 >> return RPGuardOpen+ | Arrows `elem` exts && not (isHSymbol c) ->+ discard 2 >> return OpenArrowBracket+ '|':')':_ | RegularPatterns `elem` exts -> discard 2 >> return RPGuardClose+ | Arrows `elem` exts -> discard 2 >> return CloseArrowBracket {- This is handled by the reserved_ops above. '@':':':_ | RegularPatterns `elem` exts -> do discard 2 return RPCAt -} + -- template haskell+ '[':'|':'|':_ | TemplateHaskell `elem` exts -> do+ discard 3+ return THTExpQuote++ '[':'e':'|':'|':_ | TemplateHaskell `elem` exts -> do+ discard 4+ return THTExpQuote+ '[':'|':_ | TemplateHaskell `elem` exts -> do discard 2 return THExpQuote@@ -704,25 +728,35 @@ | c == 't' && TemplateHaskell `elem` exts -> do discard 3 return THTypQuote- '[':'$':c:_ | isLower c && QuasiQuotes `elem` exts ->+ '[':'$':c:_ | isIdentStart c && QuasiQuotes `elem` exts -> discard 2 >> lexQuasiQuote c - '[':c:s' | isLower c && QuasiQuotes `elem` exts && case dropWhile isIdent s' of { '|':_ -> True;_->False} ->+ '[':c:s' | isIdentStart c && QuasiQuotes `elem` exts && case dropWhile isIdent s' of { '|':_ -> True;_->False} -> discard 1 >> lexQuasiQuote c | isUpper c && QuasiQuotes `elem` exts && case dropWhile isPossiblyQvar s' of { '|':_ -> True;_->False} -> discard 1 >> lexQuasiQuote c + '|':'|':']':_ | TemplateHaskell `elem` exts -> do+ discard 3+ return THTCloseQuote '|':']':_ | TemplateHaskell `elem` exts -> do discard 2 return THCloseQuote - '$':c:_ | isLower c && TemplateHaskell `elem` exts -> do+ '$':c1:c2:_ | isIdentStart c1 && TemplateHaskell `elem` exts -> do discard 1 id <- lexWhile isIdent return $ THIdEscape id- | c == '(' && TemplateHaskell `elem` exts -> do+ | c1 == '(' && TemplateHaskell `elem` exts -> do discard 2 return THParenEscape+ | c1 == '$' && isIdentStart c2 && TemplateHaskell `elem` exts -> do+ discard 2+ id <- lexWhile isIdent+ return $ THTIdEscape id+ | c1 == '$' && c2 == '(' && TemplateHaskell `elem` exts -> do+ discard 3+ return THTParenEscape -- end template haskell -- hsx@@ -767,7 +801,7 @@ else discard 1 >> return TApp '#':c:_ | OverloadedLabels `elem` exts- && isLower c || c == '_' -> do+ && isIdentStart c -> do discard 1 [ident] <- lexIdents return $ LabelVarId ident@@ -777,7 +811,7 @@ | isUpper c -> lexConIdOrQual "" - | isLower c || c == '_' -> do+ | isIdentStart c -> do idents <- lexIdents case idents of [ident] -> case lookup ident (reserved_ids ++ special_varids) of@@ -852,7 +886,7 @@ body <- lexQQBody return $ THQuasiQuote (ident, body) where lexQuoter- | isLower c = lexWhile isIdent+ | isIdentStart c = lexWhile isIdent | otherwise = do qualThing <- lexConIdOrQual "" case qualThing of@@ -1049,7 +1083,7 @@ exts <- getExtensionsL case rest of '.':c:_- | isLower c || c == '_' -> do -- qualified varid?+ | isIdentStart c -> do -- qualified varid? discard 1 ident <- lexWhile isIdent s <- getInput@@ -1113,23 +1147,23 @@ lexString :: Lex a Token-lexString = loop ("","")+lexString = loop [] [] where- loop (s,raw) = do+ loop !s !raw = do r <- getInput exts <- getExtensionsL case r of '\\':'&':_ -> do discard 2- loop (s, '&':'\\':raw)+ loop s ('&':'\\':raw) '\\':c:_ | isSpace c -> do discard 1 wcs <- lexWhiteChars matchChar '\\' "Illegal character in string gap"- loop (s, '\\':reverse wcs ++ '\\':raw)+ loop s ('\\':revAppend wcs ('\\':raw)) | otherwise -> do (ce, str) <- lexEscape- loop (ce:s, reverse str ++ '\\':raw)+ loop (ce `seq` ce : s) (revAppend str ('\\':raw)) '"':'#':_ | MagicHash `elem` exts -> do discard 2 return (StringHash (reverse s, reverse raw))@@ -1138,9 +1172,13 @@ return (StringTok (reverse s, reverse raw)) c:_ | c /= '\n' -> do discard 1- loop (c:s, c:raw)+ loop (c:s) (c:raw) _ -> fail "Improperly terminated string" + revAppend :: [a] -> [a] -> [a]+ revAppend [] ys = ys+ revAppend (x:xs) ys = revAppend xs (x:ys)+ lexWhiteChars :: Lex a String lexWhiteChars = do s <- getInput@@ -1271,8 +1309,10 @@ -- Stolen from Hugs's Prelude parseInteger :: Integer -> String -> Integer-parseInteger radix ds =- foldl1 (\n d -> n * radix + d) (map (toInteger . digitToInt) ds)+parseInteger radix = go 0+ where+ go !acc [] = acc+ go !acc (d:ds) = go (acc * radix + toInteger (digitToInt d)) ds flagKW :: Token -> Lex a () flagKW t =@@ -1346,13 +1386,19 @@ RightArrowTail -> ">-" LeftDblArrowTail -> "-<<" RightDblArrowTail -> ">>-"+ OpenArrowBracket -> "(|"+ CloseArrowBracket -> "|)" THExpQuote -> "[|"+ THTExpQuote -> "[||" THPatQuote -> "[p|" THDecQuote -> "[d|" THTypQuote -> "[t|" THCloseQuote -> "|]"+ THTCloseQuote -> "||]" THIdEscape s -> '$':s THParenEscape -> "$("+ THTIdEscape s -> "$$" ++ s+ THTParenEscape -> "$$(" THVarQuote -> "'" THTyQuote -> "''" THQuasiQuote (n,q) -> "[$" ++ n ++ "|" ++ q ++ "]"@@ -1446,5 +1492,6 @@ KW_Pattern -> "pattern" KW_Stock -> "stock" KW_Anyclass -> "anyclass"+ KW_Via -> "via" EOF -> "EOF"
src/Language/Haskell/Exts/InternalParser.ly view
@@ -1,6 +1,7 @@ > { > {-# LANGUAGE CPP #-} > {-# OPTIONS_HADDOCK hide #-}+> > ----------------------------------------------------------------------------- > -- | > -- Module : Language.Haskell.Exts.Annotated.Parser@@ -94,13 +95,13 @@ might be the start of the declaration with the activation being empty. Resolving with shift means the declaration cannot start with '['. -1 for ambiguity in '{-# RULES "name" forall = ... #-}' [State 544]- since 'forall' is a valid variable name, we don't know whether- to treat a forall on the input as the beginning of a quantifier- or the beginning of the rule itself. Resolving to shift means- it's always treated as a quantifier, hence the above is disallowed.- This saves explicitly defining a grammar for the rule lhs that- doesn't include 'forall'.+1 for ambiguity in '{-# RULES "name" forall = ... #-}' [State 544]+ since 'forall' is a valid variable name, we don't know whether+ to treat a forall on the input as the beginning of a quantifier+ or the beginning of the rule itself. Resolving to shift means+ it's always treated as a quantifier, hence the above is disallowed.+ This saves explicitly defining a grammar for the rule lhs that+ doesn't include 'forall'. ----------------------------------------------------------------------------- @@ -172,22 +173,28 @@ > '>-' { Loc $$ RightArrowTail } > '-<<' { Loc $$ LeftDblArrowTail } > '>>-' { Loc $$ RightDblArrowTail }+> '(|' { Loc $$ OpenArrowBracket }+> '|)' { Loc $$ CloseArrowBracket } Harp -> '(|' { Loc $$ RPGuardOpen }-> '|)' { Loc $$ RPGuardClose }+> '(/' { Loc $$ RPGuardOpen }+> '/)' { Loc $$ RPGuardClose } > '@:' { Loc $$ RPCAt } Template Haskell > IDSPLICE { Loc _ (THIdEscape _) } -- $x+> TIDSPLICE { Loc _ (THTIdEscape _) } -- $$x > '$(' { Loc $$ THParenEscape } -- 60+> '$$(' { Loc $$ THTParenEscape } > '[|' { Loc $$ THExpQuote }+> '[||' { Loc $$ THTExpQuote } > '[p|' { Loc $$ THPatQuote } > '[t|' { Loc $$ THTypQuote } > '[d|' { Loc $$ THDecQuote } > '|]' { Loc $$ THCloseQuote }+> '||]' { Loc $$ THTCloseQuote } > VARQUOTE { Loc $$ THVarQuote } -- 'x > TYPQUOTE { Loc $$ THTyQuote } -- ''T > QUASIQUOTE { Loc _ (THQuasiQuote _) }@@ -260,6 +267,7 @@ > 'pattern' { Loc $$ KW_Pattern } > 'stock' { Loc $$ KW_Stock } -- for DerivingStrategies extension > 'anyclass' { Loc $$ KW_Anyclass } -- for DerivingStrategies extension+> 'via' { Loc $$ KW_Via } -- for DerivingStrategies extension Pragmas @@ -291,7 +299,10 @@ > '{-# COMPLETE' { Loc $$ COMPLETE } > '#-}' { Loc $$ PragmaEnd } -- 139 +Utility +> NEVER { Loc $$@SrcSpan{srcSpanStartLine= -1} _ } -- never-matching terminal of type SrcSpan+ > %monad { P } > %lexer { lexer } { Loc _ EOF } > %error { parseError }@@ -455,10 +466,10 @@ > | impdecl { ([$1],[]) } > impdecl :: { ImportDecl L }-> : 'import' optsrc optsafe optqualified maybepkg modid maybeas maybeimpspec-> { let { (mmn,ss,ml) = $7 ;-> l = nIS $1 <++> ann $6 <+?> ml <+?> (fmap ann) $8 <** ($1:snd $2 ++ snd $3 ++ snd $4 ++ snd $5 ++ ss)}-> in ImportDecl l $6 (fst $4) (fst $2) (fst $3) (fst $5) mmn $8 }+> : 'import' optsrc optsafe optqualified maybepkg modid optqualified_post maybeas maybeimpspec+> { let { (mmn,ss,ml) = $8 ;+> l = nIS $1 <++> ann $6 <+?> ml <+?> (fmap ann) $9 <** ($1:snd $2 ++ snd $3 ++ snd $4 ++ snd $5 ++ snd $7 ++ ss)}+> in ImportDecl l $6 (fst $4 || fst $7) (fst $2) (fst $3) (fst $5) mmn $9 } > optsrc :: { (Bool,[S]) } > : '{-# SOURCE' '#-}' { (True,[$1,$2]) }@@ -473,6 +484,11 @@ > : 'qualified' { (True,[$1]) } > | {- empty -} { (False, []) } +> optqualified_post :: { (Bool,[S]) }+> : 'qualified' {% do { checkEnabled ImportQualifiedPost;+> return (True,[$1]) } }+> | {- empty -} { (False, []) }+ Requires the PackageImports extension enabled. > maybepkg :: { (Maybe String,[S]) } > : STRING {% do { checkEnabled PackageImports ;@@ -645,7 +661,7 @@ > return (InstDecl (nIS $1 <++> ann $3 <+?> minf <** ($1:ss)) $2 ih mis) } } Requires the StandaloneDeriving extension enabled.-> | 'deriving' deriv_strategy 'instance' optoverlap ctype+> | 'deriving' deriv_standalone_strategy 'instance' optoverlap ctype > {% do { checkEnabled StandaloneDeriving ; > ih <- checkInstHeader $5; > let {l = nIS $1 <++> ann $5 <** [$1,$3]};@@ -662,6 +678,7 @@ > } | '$(' trueexp ')' { let l = $1 <^^> $3 <** [$1,$3] in SpliceDecl l $ ParenSplice l $2 }+ | '$$(' trueexp ')' { let l = $1 <^^> $3 <** [$1,$3] in TSpliceDecl l $ TParenSplice l $2 } These require the ForeignFunctionInterface extension, handled by the lexer through the 'foreign' (and 'export') keyword.@@ -742,6 +759,7 @@ > : ty_fam_inst_eqns ';' ty_fam_inst_eqn { $1 ++ [$3] } > | ty_fam_inst_eqns ';' { $1 } > | ty_fam_inst_eqn { [$1] }+> | { [] } > ty_fam_inst_eqn :: { TypeEqn L } > : truectype '=' truectype@@ -941,57 +959,72 @@ > : dtype {% checkType $1 } > dtype :: { PType L }-> : btype { splitTilde $1 }-> | btype qtyconop dtype { TyInfix ($1 <> $3) $1 $2 $3 }-> | btype qtyvarop dtype { TyInfix ($1 <> $3) $1 (UnpromotedName (ann $2) $2) $3 } -- FIXME-> | btype '->' ctype { TyFun ($1 <> $3 <** [$2]) (splitTilde $1) $3 }- | btype '~' btype {% do { checkEnabledOneOf [TypeFamilies, GADTs] ;- let {l = $1 <> $3 <** [$2]};- return $ TyPred l $ EqualP l $1 $3 } }+> : dtype_('*',NEVER) { $1 } +> dtype_(ostar,kstar) :: { PType L }+> : btype_(ostar,kstar) { splitTilde $1 }+> | btype_(ostar,kstar) qtyconop dtype_(ostar,kstar) { TyInfix ($1 <> $3) $1 $2 $3 }+> | btype_(ostar,kstar) qtyvarop_(ostar) dtype_(ostar,kstar) { TyInfix ($1 <> $3) $1 (UnpromotedName (ann $2) $2) $3 } -- FIXME+> | btype_(ostar,kstar) '->' ctype_(ostar,kstar) { TyFun ($1 <> $3 <** [$2]) (splitTilde $1) $3 }+ | btype_(ostar,kstar) '~' btype_(ostar,kstar) {% do { checkEnabledOneOf [TypeFamilies, GADTs] ;+ let {l = $1 <> $3 <** [$2]};+ return $ TyPred l $ EqualP l $1 $3 } }+ Implicit parameters can occur in normal types, as well as in contexts. > truetype :: { Type L } > : type {% checkType $1 } > type :: { PType L }-> : ivar '::' dtype { let l = ($1 <> $3 <** [$2]) in TyPred l $ IParam l $1 $3 }-> | dtype { $1 }+> : type_('*',NEVER) { $1 } +> type_(ostar,kstar) :: { PType L }+> : ivar '::' dtype_(ostar,kstar) { let l = ($1 <> $3 <** [$2]) in TyPred l $ IParam l $1 $3 }+> | dtype_(ostar,kstar) { $1 }+ > truebtype :: { Type L } > : btype {% checkType (splitTilde $1) } > trueatype :: { Type L } > : atype {% checkType $1 } > btype :: { PType L }-> : btype atype { TyApp ($1 <> $2) $1 $2 }-> | atype { $1 }+> : btype_('*',NEVER) { $1 } +> btype_(ostar,kstar) :: { PType L }+> : btype_(ostar,kstar) atype_(ostar,kstar) { TyApp ($1 <> $2) $1 $2 }+> | atype_(ostar,kstar) { $1 }+ UnboxedTuples requires the extension, but that will be handled through the (# and #) lexemes. Kinds will be handled at the kind rule. > atype :: { PType L }-> : gtycon { TyCon (ann $1) $1 }+> : atype_('*',NEVER) { $1 }++> atype_(ostar,kstar) :: { PType L }+> : kstar { TyStar (nIS $1) }+> | gtycon_(ostar) { TyCon (ann $1) $1 } > | tyvar {% checkTyVar $1 } > | strict_mark atype { let (mstrict, mupack) = $1 > in bangType mstrict mupack $2 }-> | '(' types ')' { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Boxed (reverse (fst $2)) }-> | '(#' types_bars2 '#)' { TyUnboxedSum ($1 <^^> $3 <** ($1: reverse ($3: snd $2))) (reverse (fst $2)) }-> | '(#' types1 '#)' { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Unboxed (reverse (fst $2)) }-> | '[' type ']' { TyList ($1 <^^> $3 <** [$1,$3]) $2 }-> | '[:' type ':]' { TyParArray ($1 <^^> $3 <** [$1,$3]) $2 }-> | '(' ctype ')' { TyParen ($1 <^^> $3 <** [$1,$3]) $2 }-> | '(' ctype '::' kind ')' { TyKind ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 }+> | '(' types_(ostar,kstar) ')' { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Boxed (reverse (fst $2)) }+> | '(#' types_bars2(ostar,kstar) '#)' { TyUnboxedSum ($1 <^^> $3 <** ($1: reverse ($3: snd $2))) (reverse (fst $2)) }+> | '(#' types1_(ostar,kstar) '#)' { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Unboxed (reverse (fst $2)) }+> | '[' type_(ostar,kstar) ']' { TyList ($1 <^^> $3 <** [$1,$3]) $2 }+> | '[:' type_(ostar,kstar) ':]' { TyParArray ($1 <^^> $3 <** [$1,$3]) $2 }+> | '(' ctype_(ostar,kstar) ')' { TyParen ($1 <^^> $3 <** [$1,$3]) $2 }+> | '(' ctype_(ostar,kstar) '::' kind ')' { TyKind ($1 <^^> $5 <** [$1,$3,$5]) $2 $4 } > | '$(' trueexp ')' { let l = ($1 <^^> $3 <** [$1,$3]) in TySplice l $ ParenSplice l $2 }+> | '$$(' trueexp ')' { let l = ($1 <^^> $3 <** [$1,$3]) in TySplice l $ TParenSplice l $2 } > | IDSPLICE { let Loc l (THIdEscape s) = $1 in TySplice (nIS l) $ IdSplice (nIS l) s }+> | TIDSPLICE { let Loc l (THTIdEscape s) = $1 in TySplice (nIS l) $ TIdSplice (nIS l) s } > | '_' { TyWildCard (nIS $1) Nothing } > | QUASIQUOTE { let Loc l (THQuasiQuote (n,q)) = $1 in TyQuasiQuote (nIS l) n q }-> | ptype { % checkEnabled DataKinds >> return (TyPromoted (ann $1) $1) }+> | ptype_(ostar,kstar) { % checkEnabled DataKinds >> return (TyPromoted (ann $1) $1) } -> ptype :: { Promoted L }-> : VARQUOTE gcon_nolist {% fmap (PromotedCon (nIS $1 <++> ann $2 <** [$1]) True) (pexprToQName $2) }-> | VARQUOTE '[' types1 ']' {% PromotedList ($1 <^^> $4 <** ($1:reverse($4:snd $3))) True . reverse <\$> mapM checkType (fst $3) }-> | '[' types ']' {% PromotedList ($1 <^^> $3 <** ($1:reverse($3:snd $2))) False . reverse <\$> mapM checkType (fst $2) }+> ptype_(ostar,kstar) :: { Promoted L }+> : VARQUOTE gcon_nolist {% fmap (PromotedCon (nIS $1 <++> ann $2 <** [$1]) True) (pexprToQName $2) }+> | VARQUOTE '[' types1_(ostar,kstar) ']' {% PromotedList ($1 <^^> $4 <** ($1:reverse($4:snd $3))) True . reverse <\$> mapM checkType (fst $3) }+> | '[' types_(ostar,kstar) ']' {% PromotedList ($1 <^^> $3 <** ($1:reverse($3:snd $2))) False . reverse <\$> mapM checkType (fst $2) } > | VARQUOTE '[' ']' { PromotedList ($1 <^^> $3 <** [$1, $3]) True [] } | '[' ']' {% PromotedList ($1 <^^> $2 <** [$1, $2]) False [] } > | VARQUOTE '(' types1 ')' {% PromotedTuple ($1 <^^> $4 <** ($1:reverse($4:snd $3))) . reverse <\$> mapM checkType (fst $3) }@@ -1014,7 +1047,10 @@ > gtycon :: { QName L }-> : otycon { $1 }+> : gtycon_('*') { $1 }++> gtycon_(ostar) :: { QName L }+> : otycon_(ostar) { $1 } > | '(' ')' { unit_tycon_name ($1 <^^> $2 <** [$1,$2]) } > | '(' '->' ')' { fun_tycon_name ($1 <^^> $3 <** [$1,$2,$3]) } > | '[' ']' { list_tycon_name ($1 <^^> $2 <** [$1,$2]) }@@ -1023,9 +1059,12 @@ > | '(#' commas '#)' { tuple_tycon_name ($1 <^^> $3 <** ($1:reverse $2 ++ [$3])) Unboxed (length $2) } > otycon :: { QName L }+> : otycon_('*') { $1 }++> otycon_(ostar) :: { QName L } > : qconid { $1 } > | '(' gconsym ')' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }-> | '(' qvarsym ')' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }+> | '(' qvarsym_(ostar) ')' { updateQNameLoc ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 } These are for infix types @@ -1051,26 +1090,38 @@ > : ctype {% checkType $1 } > ctype :: { PType L }-> : 'forall' ktyvars '.' ctype { mkTyForall (nIS $1 <++> ann $4 <** [$1,$3]) (Just (reverse (fst $2))) Nothing $4 }-> | context ctype { mkTyForall ($1 <> $2) Nothing (Just $1) $2 }-> | type { $1 }+> : ctype_('*',NEVER) { $1 } +> ctype_(ostar,kstar) :: { PType L }+> : 'forall' ktyvars '.' ctype_(ostar,kstar) { mkTyForall (nIS $1 <++> ann $4 <** [$1,$3]) (Just (reverse (fst $2))) Nothing $4 }+> | context_(ostar,kstar) ctype_(ostar,kstar) { mkTyForall ($1 <> $2) Nothing (Just $1) $2 }+> | type_(ostar,kstar) { $1 }+ Equality constraints require the TypeFamilies extension. > context :: { PContext L }-> : btype '=>' {% checkPContext $ (amap (\l -> l <++> nIS $2 <** (srcInfoPoints l ++ [$2]))) (splitTilde $1) }+> : context_('*',NEVER) { $1 } +> context_(ostar,kstar) :: { PContext L }+> : btype_(ostar,kstar) '=>' {% checkPContext $ (amap (\l -> l <++> nIS $2 <** (srcInfoPoints l ++ [$2]))) (splitTilde $1) }+ > types :: { ([PType L],[S]) }-> : types1 ',' ctype { ($3 : fst $1, $2 : snd $1) }+> : types_('*',NEVER) { $1 } +> types_(ostar,kstar) :: { ([PType L],[S]) }+> : types1_(ostar,kstar) ',' ctype_(ostar,kstar) { ($3 : fst $1, $2 : snd $1) }+ > types1 :: { ([PType L],[S]) }-> : ctype { ([$1],[]) }-> | types1 ',' ctype { ($3 : fst $1, $2 : snd $1) }+> : types1_('*',NEVER) { $1 } -> types_bars2 :: { ([PType L],[S]) }-> : ctype '|' ctype { ([$3, $1], [$2]) }-> | types_bars2 '|' ctype { ($3 : fst $1, $2 : snd $1) }+> types1_(ostar,kstar) :: { ([PType L],[S]) }+> : ctype_(ostar,kstar) { ([$1],[]) }+> | types1_(ostar,kstar) ',' ctype_(ostar,kstar) { ($3 : fst $1, $2 : snd $1) } +> types_bars2(ostar,kstar) :: { ([PType L],[S]) }+> : ctype_(ostar,kstar) '|' ctype_(ostar,kstar) { ([$3, $1], [$2]) }+> | types_bars2(ostar,kstar) '|' ctype_(ostar,kstar) { ($3 : fst $1, $2 : snd $1) }+ > ktyvars :: { ([TyVarBind L],Maybe L) } > : ktyvars ktyvar { ($2 : fst $1, Just (snd $1 <?+> ann $2)) } > | {- empty -} { ([],Nothing) }@@ -1127,10 +1178,14 @@ > gadtconstr :: { [GadtDecl L] } > : qcon '::' truectype {% do { c <- checkUnQual $1;-> return [GadtDecl ($1 <> $3 <** [$2]) c Nothing $3] } }+> return [GadtDecl ($1 <> $3 <** [$2]) c Nothing Nothing Nothing $3] } }+> | qcon '::' context '{' fielddecls '}' '->' truectype+> {% do { c <- checkUnQual $1;+> ctxt <- checkContext (Just $3) ;+> return [GadtDecl ($1 <> $8 <** [$2,$4,$6,$7] ++ snd $5) c Nothing ctxt (Just (reverse $ fst $5)) $8] } } > | qcon '::' '{' fielddecls '}' '->' truectype > {% do { c <- checkUnQual $1;-> return [GadtDecl ($1 <> $7 <** [$2,$3,$5,$6] ++ snd $4) c (Just (reverse $ fst $4)) $7] } }+> return [GadtDecl ($1 <> $7 <** [$2,$3,$5,$6] ++ snd $4) c Nothing Nothing (Just (reverse $ fst $4)) $7] } } To allow the empty case we need the EmptyDataDecls extension. > constrs0 :: { ([QualConDecl L],[S],Maybe L) }@@ -1182,15 +1237,15 @@ > | deriving { [$1] } > deriving :: { Deriving L }-> : 'deriving' deriv_strategy qtycls1-> { let l = nIS $1 <++> ann $3 <** [$1] in Deriving l $2 [IRule (ann $3) Nothing Nothing $3] }-> | 'deriving' deriv_strategy '(' ')'-> { Deriving ($1 <^^> $4 <** [$1,$3,$4]) $2 [] }-> | 'deriving' deriv_strategy '(' dclasses ')'-> { -- Distinguish deriving (Show) from deriving Show (#189)-> case fst $4 of-> [ts] -> Deriving ($1 <^^> $5 <** [$1]) $2 [IParen ($3 <^^> $5 <** [$3,$5]) ts]-> tss -> Deriving ($1 <^^> $5 <** $1:$3: reverse (snd $4) ++ [$5]) $2 (reverse tss)}+> : 'deriving' deriv_clause_types+> { let (ihs, last_ss, sss) = $2+> in Deriving ($1 <^^> last_ss <** $1:sss) Nothing ihs }+> | 'deriving' deriv_strategy_no_via deriv_clause_types+> { let (ihs, last_ss, sss) = $3+> in Deriving ($1 <^^> last_ss <** $1:sss) (Just $2) ihs }+> | 'deriving' deriv_clause_types deriv_strategy_via+> { let (ihs, last_ss, sss) = $2+> in Deriving ($1 <^^> last_ss <** $1:sss) (Just $3) ihs } > dclasses :: { ([InstRule L],[S]) } > : types1 {% checkDeriving (fst $1) >>= \ds -> return (ds, snd $1) }@@ -1198,6 +1253,12 @@ > qtycls1 :: { InstHead L } > : qconid { IHCon (ann $1) $1 } +> deriv_clause_types :: { ([InstRule L], SrcSpan, [SrcSpan]) }+> : qtycls1 { [IRule (ann $1) Nothing Nothing $1], srcInfoSpan (ann $1), [] }+> | '(' ')' { [], $2, [$1, $2] }+> | '(' dclasses ')' { case fst $2 of+> [ts] -> ([IParen ($1 <^^> $3 <** [$1,$3]) ts], $3, [])+> tss -> (reverse tss, $3, $1: reverse (snd $2) ++ [$3]) } ----------------------------------------------------------------------------- Kinds@@ -1206,32 +1267,7 @@ > : kind1 {% checkEnabled KindSignatures >> return $1 } > kind1 :: { Kind L }-> : bkind { $1 }-> | bkind '->' kind1 { KindFn ($1 <> $3 <** [$2]) $1 $3 }--> bkind :: { Kind L }-> : akind { $1 }-> | bkind akind { KindApp ($1 <> $2) $1 $2 }--> akind :: { Kind L }-> : '*' { KindStar (nIS $1) }-> | '(' kind1 ')' { KindParen ($1 <^^> $3 <** [$1,$3]) $2 }-> | pkind {% checkKind $1 >> return $1 }-> | qvarid {% checkEnabled PolyKinds >> return (KindVar (ann $1) $1) }--KindParen covers 1-tuples, KindVar l while KindTuple is for pairs--> pkind :: { Kind L }-> : qtyconorcls { KindVar (ann $1) $1 }-> | '(' ')' { let l = $1 <^^> $2 in KindVar l (unit_tycon_name l) }-> | '(' kind ',' comma_kinds1 ')'-> { KindTuple ($1 <^^> $5 <** ($1:$3:reverse ($5:snd $4))) ($2:reverse (fst $4)) }-> | '[' kind ']' { KindList (($1 <^^> $3) <** [$1, $3]) $2 }--> comma_kinds1 :: { ([Kind L], [S]) }-> : kind1 { ([$1], []) }-> | kind1 ',' comma_kinds1 { ($1 : (fst $3), $2 : (snd $3)) }-+> : ctype_(NEVER,'*') {% checkType $1 } > optkind :: { (Maybe (Kind L), [S]) } > : {-empty-} { (Nothing,[]) }@@ -1404,6 +1440,11 @@ > | exp10b { $1 } > exp10a :: { PExp L }+> : expblocka { $1 }+> | fexp expblocka {% checkEnabled BlockArguments >>+> return (App ($1 <> $2) $1 $2) }++> expblocka :: { PExp L } > : '\\' apats '->' exp { Lambda (nIS $1 <++> ann $4 <** [$1,$3]) (reverse $2) $4 } A let may bind implicit parameters > | 'let' binds 'in' exp { Let (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 }@@ -1416,26 +1457,29 @@ > | exppragma { $1 } > optlayoutsemi :: { [S] }-> : ';' {% checkEnabled DoAndIfThenElse >> return [$1] }+> : ';' {% checkEnabled DoAndIfThenElse >> return [$1] } > | {- empty -} { [] } We won't come here unless XmlSyntax is already checked. > opthsxsemi :: { [S] }-> : ';' { [$1] }+> : ';' { [$1] } > | {- empty -} { [] } mdo blocks require the RecursiveDo extension enabled, but the lexer handles that. > exp10b :: { PExp L }+> : expblockb { $1 }+> | '-' fexp { NegApp (nIS $1 <++> ann $2 <** [$1]) $2 }+> | fexp { $1 }++> expblockb :: { PExp L } > : 'case' exp 'of' altslist { let (als, inf, ss) = $4 in Case (nIS $1 <++> inf <** ($1:$3:ss)) $2 als } > | '\\' 'case' altslist {% do { checkEnabled LambdaCase ; > let { (als, inf, ss) = $3 } ; > return (LCase (nIS $1 <++> inf <** ($1:$2:ss)) als) } }-> | '-' fexp { NegApp (nIS $1 <++> ann $2 <** [$1]) $2 } > | 'do' stmtlist { let (sts, inf, ss) = $2 in Do (nIS $1 <++> inf <** $1:ss) sts } > | 'mdo' stmtlist { let (sts, inf, ss) = $2 in MDo (nIS $1 <++> inf <** $1:ss) sts }-> | fexp { $1 } > exppragma :: { PExp L } > : '{-# CORE' STRING '#-}' exp { let Loc l (StringTok (s,_)) = $2 in CorePragma (nIS $1 <++> ann $4 <** [l,$3]) s $4 }@@ -1452,6 +1496,8 @@ > fexp :: { PExp L } > : fexp aexp { App ($1 <> $2) $1 $2 }+> | fexp expblockb {% checkEnabled BlockArguments >>+> return (App ($1 <> $2) $1 $2) } > | aexp { $1 } > apats :: { [Pat L] }@@ -1511,15 +1557,19 @@ > | '[' list ']' { amap (\l -> l <** [$3]) $ $2 ($1 <^^> $3 <** [$1]) } > | '[:' parr ':]' { amap (\l -> l <** [$3]) $ $2 ($1 <^^> $3 <** [$1]) } > | '(' erpats ')' {% checkEnabled RegularPatterns >> return (Paren ($1 <^^> $3 <** [$1,$3]) $2) }-> | '(|' sexps '|)' { SeqRP ($1 <^^> $3 <** ($1:reverse (snd $2) ++ [$3])) $ reverse (fst $2) }-> | '(|' exp '|' quals '|)' { GuardRP ($1 <^^> $5 <** ($1:$3 : snd $4 ++ [$5])) $2 $ (reverse $ fst $4) }+> | '(|' exp '|)' { ArrOp ($1 <^^> $3 <** [$1,$3]) $2 }+> | '(/' sexps '/)' { SeqRP ($1 <^^> $3 <** ($1:reverse (snd $2) ++ [$3])) $ reverse (fst $2) }+> | '(/' exp '|' quals '/)' { GuardRP ($1 <^^> $5 <** ($1:$3 : snd $4 ++ [$5])) $2 $ (reverse $ fst $4) } > | xml { $1 } Template Haskell - all this is enabled in the lexer. > | IDSPLICE { let Loc l (THIdEscape s) = $1 in SpliceExp (nIS l) $ IdSplice (nIS l) s }+> | TIDSPLICE { let Loc l (THTIdEscape s) = $1 in SpliceExp (nIS l) $ TIdSplice (nIS l) s } > | '$(' trueexp ')' { let l = ($1 <^^> $3 <** [$1,$3]) in SpliceExp l $ ParenSplice l $2 }+> | '$$(' trueexp ')' { let l = ($1 <^^> $3 <** [$1,$3]) in SpliceExp l $ TParenSplice l $2 } > | '[|' trueexp '|]' { let l = ($1 <^^> $3 <** [$1,$3]) in BracketExp l $ ExpBracket l $2 }+> | '[||' trueexp '||]' { let l = ($1 <^^> $3 <** [$1,$3]) in BracketExp l $ TExpBracket l $2 } > | '[p|' exp0 '|]' {% do { p <- checkPattern $2; > let {l = ($1 <^^> $3 <** [$1,$3]) }; > return $ BracketExp l $ PatBracket l p } }@@ -1529,6 +1579,9 @@ > | VARQUOTE '(' ')' { let {l1 = $1 <^^> $3 <** [$1]; > l2 = $2 <^^> $3 <** [$2,$3];} > in VarQuote l1 (unit_con_name l2) }+> | VARQUOTE '[' ']' { let {l1 = $1 <^^> $3 <** [$1];+> l2 = $2 <^^> $3 <** [$2,$3];}+> in VarQuote l1 (list_con_name l2) } > | VARQUOTE qvar { VarQuote (nIS $1 <++> ann $2 <** [$1]) $2 } > | VARQUOTE qcon { VarQuote (nIS $1 <++> ann $2 <** [$1]) $2 } > | TYPQUOTE tyvar { TypQuote (nIS $1 <++> ann $2 <** [$1]) (UnQual (ann $2) $2) }@@ -1973,8 +2026,8 @@ > | 'unsafe' { unsafe_name (nIS $1) } > | 'interruptible' { interruptible_name (nIS $1) } > | 'threadsafe' { threadsafe_name (nIS $1) }-> | 'forall' { forall_name (nIS $1) }-> | 'family' { family_name (nIS $1) }+> | 'forall' { forall_name (nIS $1) }+> | 'family' { family_name (nIS $1) } > | 'role' { role_name (nIS $1) } @@ -1998,7 +2051,10 @@ > : CONSYM { let Loc l (ConSym c) = $1 in Symbol (nIS l) c } > qvarsym :: { QName L }-> : varsym { UnQual (ann $1) $1 }+> : qvarsym_('*') { $1 }++> qvarsym_(ostar) :: { QName L }+> : varsym_(ostar) { UnQual (ann $1) $1 } > | qvarsym1 { $1 } > qvarsymm :: { QName L }@@ -2006,14 +2062,20 @@ > | qvarsym1 { $1 } > varsym :: { Name L }-> : varsymm { $1 }+> : varsym_('*') { $1 }++> varsym_(ostar) :: { Name L }+> : varsymm_(ostar) { $1 } > | '-' { minus_name (nIS $1) } -> varsymm :: { Name L } -- varsym not including '-'+> varsymm :: { Name L }+> : varsymm_('*') { $1 }++> varsymm_(ostar) :: { Name L } -- varsym not including '-' > : VARSYM { let Loc l (VarSym v) = $1 in Symbol (nIS l) v } > | '!' { bang_name (nIS $1) } > | '.' { dot_name (nIS $1) }-> | '*' { star_name (nIS $1) }+> | ostar { star_name (nIS $1) } > qvarsym1 :: { QName L } > : QVARSYM { let {Loc l (QVarSym q) = $1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q)) }@@ -2087,38 +2149,52 @@ > pattern_synonym_sig :: { Decl L } > : 'pattern' con_list '::' pstype > {% do { checkEnabled PatternSynonyms ;-> let {(qtvs, ps, prov, req, ty) = $4} ;-> let {sig = PatSynSig (nIS $1 <++> ann ty <** [$1] ++ fst $2 ++ [$3] ++ ps) (snd $2) qtvs prov req ty} ;+> let {(qtvs, ps, prov, req_vars, req, ty) = $4} ;+> let {sig = PatSynSig (nIS $1 <++> ann ty <** [$1] ++ fst $2 ++ [$3] ++ ps) (snd $2) qtvs prov req_vars req ty} ; > return sig } } -> pstype :: { (Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L )}+> pstype :: { (Maybe [TyVarBind L], [S], Maybe (Context L), Maybe [TyVarBind L]+> , Maybe (Context L), Type L )} > : 'forall' ktyvars '.' pstype-> { let (qtvs, ps, prov, req, ty) = $4-> in (Just (reverse (fst $2) ++ fromMaybe [] qtvs), ($1 : $3 : ps), prov, req, ty) }+> { let (qtvs, ps, prov, req_vars, req, ty) = $4+> in (Just (reverse (fst $2) ++ fromMaybe [] qtvs), ($1 : $3 : ps), prov, req_vars, req, ty) } > | context context type > {% do { c1 <- checkContext (Just $1) ; > c2 <- checkContext (Just $2) ; > t <- checkType $3 ;-> return $ (Nothing, [], c1, c2, t) }}+> return $ (Nothing, [], c1, Nothing, c2, t) }}+> | context 'forall' ktyvars '.' context type+> {% do { c1 <- checkContext (Just $1) ;+> c2 <- checkContext (Just $5) ;+> t <- checkType $6 ;+> return $ (Nothing, [], c1, Just (reverse (fst $3)), c2, t) }} > | context type > {% do { c1 <- checkContext (Just $1); > t <- checkType $2;-> return (Nothing, [], c1, Nothing, t) } }+> return (Nothing, [], c1, Nothing, Nothing, t) } } > | type-> {% checkType $1 >>= \t -> return (Nothing, [], Nothing, Nothing, t) }+> {% checkType $1 >>= \t -> return (Nothing, [], Nothing, Nothing, Nothing, t) } ----------------------------------------------------------------------------- Deriving strategies -> deriv_strategy :: { Maybe (DerivStrategy L) }+> deriv_strategy_no_via :: { DerivStrategy L } > : 'stock' {% do { checkEnabled DerivingStrategies-> ; return (Just (DerivStock (nIS $1))) } }+> ; return (DerivStock (nIS $1)) } } > | 'anyclass' {% do { checkEnabled DerivingStrategies > ; checkEnabled DeriveAnyClass-> ; return (Just (DerivAnyclass (nIS $1))) } }+> ; return (DerivAnyclass (nIS $1)) } } > | 'newtype' {% do { checkEnabled DerivingStrategies > ; checkEnabled GeneralizedNewtypeDeriving-> ; return (Just (DerivNewtype (nIS $1))) } }+> ; return (DerivNewtype (nIS $1)) } }++> deriv_strategy_via :: { DerivStrategy L }+> : 'via' truedtype {% do { checkEnabled DerivingVia+> ; return (DerivVia (nIS $1) $2) } }++> deriv_standalone_strategy :: { Maybe (DerivStrategy L) }+> : deriv_strategy_no_via { Just $1 }+> | deriv_strategy_via { Just $1 } > | {- empty -} { Nothing } -----------------------------------------------------------------------------@@ -2142,17 +2218,17 @@ > | 'safe' { safe_name (nIS $1) } > | 'unsafe' { unsafe_name (nIS $1) } > | 'threadsafe' { threadsafe_name (nIS $1) }- | 'forall' { forall_name (nIS $1) }- | 'family' { family_name (nIS $1) }+ | 'forall' { forall_name (nIS $1) }+ | 'family' { family_name (nIS $1) } -> qtyvarop :: { QName L }-> qtyvarop : '`' tyvar '`' { UnQual ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }-> | tyvarsym { UnQual (ann $1) $1 }+> qtyvarop_(ostar) :: { QName L }+> qtyvarop_ : '`' tyvar '`' { UnQual ($1 <^^> $3 <** [$1, srcInfoSpan (ann $2), $3]) $2 }+> | tyvarsym_(ostar) { UnQual (ann $1) $1 } -> tyvarsym :: { Name L }+> tyvarsym_(ostar) :: { Name L } > tyvarsym : VARSYM { let Loc l (VarSym x) = $1 in Symbol (nIS l) x } > | '-' { Symbol (nIS $1) "-" }-> | '*' { Symbol (nIS $1) "*" }+> | ostar { Symbol (nIS $1) "*" } > impdeclsblock :: { ([ImportDecl L],[S],L) } > : '{' optsemis impdecls optsemis '}' { let (ids, ss) = $3 in (ids, $1 : reverse $2 ++ ss ++ reverse $4 ++ [$5], $1 <^^> $5) }
src/Language/Haskell/Exts/Lexer.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE Safe #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Lexer
src/Language/Haskell/Exts/ParseMonad.hs view
@@ -1,4 +1,6 @@+{-# LANGUAGE CPP, Safe #-} {-# OPTIONS_HADDOCK hide #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.ParseMonad@@ -47,7 +49,9 @@ import Control.Monad (when, liftM, ap) import qualified Control.Monad.Fail as Fail import Data.Monoid hiding ((<>))+#if !MIN_VERSION_base(4,13,0) import Data.Semigroup (Semigroup(..))+#endif -- To avoid import warnings for Control.Applicative, Data.Monoid, and Data.Semigroup import Prelude @@ -76,7 +80,7 @@ | ParseFailed SrcLoc String -- ^ The parse failed at the specified -- source location, with an error message.- deriving Show+ deriving (Show, Ord, Eq) -- | Retrieve the result of a successful parse, throwing an -- error if the parse is actually not successful.@@ -95,8 +99,9 @@ ParseFailed loc msg <*> _ = ParseFailed loc msg instance Monad ParseResult where- return = ParseOk+#if !MIN_VERSION_base(4,13,0) fail = Fail.fail+#endif ParseOk x >>= f = f x ParseFailed loc msg >>= _ = ParseFailed loc msg instance Fail.MonadFail ParseResult where@@ -109,7 +114,6 @@ instance ( Monoid m , Semigroup m) => Monoid (ParseResult m) where mempty = ParseOk mempty- mappend = (<>) -- internal version data ParseStatus a = Ok ParseState a | Failed SrcLoc String@@ -237,16 +241,17 @@ fmap = liftM instance Applicative P where- pure = return+ pure a = P $ \_i _x _y _l _ch s _m -> Ok s a (<*>) = ap instance Monad P where- return a = P $ \_i _x _y _l _ch s _m -> Ok s a P m >>= k = P $ \i x y l ch s mode -> case m i x y l ch s mode of Failed loc msg -> Failed loc msg Ok s' a -> runP (k a) i x y l ch s' mode+#if !MIN_VERSION_base(4,13,0) fail = Fail.fail+#endif instance Fail.MonadFail P where fail s = P $ \_r _col _line loc _ _stk _m -> Failed loc s@@ -347,14 +352,15 @@ fmap = liftM instance Applicative (Lex r) where- pure = return+ pure a = Lex $ \k -> k a (<*>) = ap instance Monad (Lex r) where- return a = Lex $ \k -> k a Lex v >>= f = Lex $ \k -> v (\a -> runL (f a) k) Lex v >> Lex w = Lex $ \k -> v (\_ -> w k)+#if !MIN_VERSION_base(4,13,0) fail = Fail.fail+#endif instance Fail.MonadFail (Lex r) where fail s = Lex $ \_ -> fail s
src/Language/Haskell/Exts/ParseSyntax.hs view
@@ -101,6 +101,7 @@ | RightArrApp l (PExp l) (PExp l) -- ^ e >- e | LeftArrHighApp l (PExp l) (PExp l) -- ^ e -<< e | RightArrHighApp l (PExp l) (PExp l) -- ^ e >>- e+ | ArrOp l (PExp l) -- ^ (| e |) -- LambdaCase | LCase l [Alt l] -- ^ @\case@ /alts/@@ -183,6 +184,7 @@ RightArrApp l _ _ -> l LeftArrHighApp l _ _ -> l RightArrHighApp l _ _ -> l+ ArrOp l _ -> l LCase l _ -> l MultiIf l _ -> l@@ -255,6 +257,7 @@ RightArrApp l e1 e2 -> RightArrApp (f l) e1 e2 LeftArrHighApp l e1 e2 -> LeftArrHighApp (f l) e1 e2 RightArrHighApp l e1 e2 -> RightArrHighApp (f l) e1 e2+ ArrOp l e -> ArrOp (f l) e LCase l alts -> LCase (f l) alts MultiIf l alts -> MultiIf (f l) alts@@ -300,6 +303,7 @@ (Maybe [TyVarBind l]) (Maybe (PContext l)) (PType l)+ | TyStar l -- ^ @*@, the type of types | TyFun l (PType l) (PType l) -- ^ function type | TyTuple l Boxed [PType l] -- ^ tuple type, possibly boxed | TyUnboxedSum l [PType l] -- ^ unboxed sum@@ -313,6 +317,7 @@ | TyInfix l (PType l) (MaybePromotedName l) (PType l) -- ^ infix type constructor | TyKind l (PType l) (Kind l) -- ^ type with explicit kind signature | TyPromoted l (S.Promoted l) -- ^ promoted data type+ | TyEquals l (PType l) (PType l) -- ^ type equality constraint | TySplice l (Splice l) -- ^ template haskell splice type | TyBang l (BangType l) (Unpackedness l) (PType l) -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma. | TyWildCard l (Maybe (Name l)) -- ^ Type wildcard@@ -322,6 +327,7 @@ instance Annotated PType where ann t = case t of TyForall l _ _ _ -> l+ TyStar l -> l TyFun l _ _ -> l TyTuple l _ _ -> l TyUnboxedSum l _ -> l@@ -334,6 +340,7 @@ TyInfix l _ _ _ -> l TyKind l _ _ -> l TyPromoted l _ -> l+ TyEquals l _ _ -> l TyPred l _ -> l TySplice l _ -> l TyBang l _ _ _ -> l@@ -341,6 +348,7 @@ TyQuasiQuote l _ _ -> l amap f t' = case t' of TyForall l mtvs mcx t -> TyForall (f l) mtvs mcx t+ TyStar l -> TyStar (f l) TyFun l t1 t2 -> TyFun (f l) t1 t2 TyTuple l b ts -> TyTuple (f l) b ts TyUnboxedSum l ts -> TyUnboxedSum (f l) ts@@ -353,6 +361,7 @@ TyInfix l ta qn tb -> TyInfix (f l) ta qn tb TyKind l t k -> TyKind (f l) t k TyPromoted l p -> TyPromoted (f l) p+ TyEquals l t1 t2 -> TyEquals (f l) t1 t2 TyPred l asst -> TyPred (f l) asst TySplice l s -> TySplice (f l) s TyBang l b u t -> TyBang (f l) b u t@@ -360,29 +369,17 @@ TyQuasiQuote l n s -> TyQuasiQuote (f l) n s data PAsst l- = ClassA l (QName l) [PType l]- | AppA l (Name l) [PType l]- | InfixA l (PType l) (QName l) (PType l)+ = TypeA l (PType l) | IParam l (IPName l) (PType l)- | EqualP l (PType l) (PType l) | ParenA l (PAsst l)- | WildCardA l (Maybe (Name l)) deriving (Eq, Show, Functor) instance Annotated PAsst where ann asst = case asst of- ClassA l _ _ -> l- AppA l _ _ -> l- InfixA l _ _ _ -> l+ TypeA l _ -> l IParam l _ _ -> l- EqualP l _ _ -> l ParenA l _ -> l- WildCardA l _ -> l amap f asst = case asst of- ClassA l qn ts -> ClassA (f l) qn ts- AppA l t ts -> AppA (f l) t ts- InfixA l ta qn tb -> InfixA (f l) ta qn tb+ TypeA l t -> TypeA (f l) t IParam l ipn t -> IParam (f l) ipn t- EqualP l t1 t2 -> EqualP (f l) t1 t2 ParenA l a -> ParenA (f l) a- WildCardA l mn -> WildCardA (f l) mn
src/Language/Haskell/Exts/ParseUtils.hs view
@@ -98,7 +98,7 @@ import Control.Monad (when,unless) #if __GLASGOW_HASKELL__ < 710-import Control.Applicative (Applicative (..), (<$>))+import Control.Applicative ((<$>)) #endif type L = SrcSpanInfo@@ -177,9 +177,9 @@ checkPContext (TyParen l t) = do c <- checkAssertion t return $ CxSingle l (ParenA l c)-checkPContext (TyPred tp p@(EqualP {})) = do+checkPContext t@(TyEquals tp _ _) = do checkEnabledOneOf [TypeFamilies, GADTs]- return $ CxSingle tp p+ return $ CxSingle tp $ TypeA tp t checkPContext t = do c <- checkAssertion t@@ -194,33 +194,46 @@ checkAssertion (TyParen l asst) = do asst' <- checkAssertion asst return $ ParenA l asst'-checkAssertion (TyPred _ p@(IParam _ _ _)) = return p+checkAssertion (TyPred _ p) = checkAAssertion p -- We cannot even get here unless TypeFamilies or GADTs is enabled. -- N.B.: this is called only when the equality assertion is part of a -- tuple-checkAssertion (TyPred _ p@(EqualP _ _ _)) = return p-checkAssertion t' = checkAssertion' id [] t'+checkAssertion t' = do+ t'' <- checkAssertion' id [] t'+ return $ TypeA (ann t'') t'' where -- class assertions must have at least one argument+ checkAssertion' _ _ t@(TyEquals _ _ _) = return t checkAssertion' fl ts (TyCon l c) = do when (length ts < 1) $ checkEnabled FlexibleContexts checkAndWarnTypeOperators c- return $ ClassA (fl l) c ts+ return $ tyApps (fl l) (TyCon (fl l) c) ts checkAssertion' fl ts (TyApp l a t) = -- no check on t at this stage checkAssertion' (const (fl l)) (t:ts) a checkAssertion' fl _ (TyInfix l a op b) = do -- infix operators require TypeOperators checkAndWarnTypeOperators (getMaybePromotedQName op)- return $ InfixA (fl l) a (getMaybePromotedQName op) b+ return $ TyInfix (fl l) a op b checkAssertion' fl ts (TyParen l t) = checkAssertion' (const (fl l)) ts t checkAssertion' fl ts (TyVar l t) = do -- Dict :: cxt => Dict cxt checkEnabled ConstraintKinds- return $ AppA (fl l) t ts- checkAssertion' _ _ (TyWildCard l wc) =- return $ WildCardA l wc- checkAssertion' _ _ _ = fail "Illegal class assertion"+ return $ tyApps (fl l) (TyVar (fl l) t) ts+ checkAssertion' _ _ t@(TyWildCard _ _) = return t+ checkAssertion' _ _ t = do+ checkEnabled QuantifiedConstraints -- anything goes+ return t+ tyApps :: L -> PType L -> [PType L] -> PType L+ tyApps _ c [] = c+ tyApps l c (a:aa) = tyApps l (TyApp l c a) aa +checkAAssertion :: PAsst L -> P (PAsst L)+checkAAssertion (TypeA _ t) = checkAssertion t+checkAAssertion (ParenA l a) = do+ a' <- checkAAssertion a+ return $ ParenA l a'+checkAAssertion p = return p+ -- Check class/instance declaration for multiparams checkMultiParam :: PType L -> P () checkMultiParam = checkMultiParam' []@@ -252,8 +265,8 @@ checkSContext :: Maybe (PContext L) -> P (Maybe (S.Context L)) checkSContext (Just ctxt) = case ctxt of CxEmpty l -> return $ Just $ S.CxEmpty l- CxSingle l a -> checkAsst True a >>= return . Just . S.CxSingle l- CxTuple l as -> mapM (checkAsst True) as >>= return . Just . S.CxTuple l+ CxSingle l a -> checkAsst a >>= return . Just . S.CxSingle l+ CxTuple l as -> mapM checkAsst as >>= return . Just . S.CxTuple l checkSContext _ = return Nothing -- Checks ordinary contexts for sigtypes and data type@@ -263,52 +276,23 @@ checkContext :: Maybe (PContext L) -> P (Maybe (S.Context L)) checkContext (Just ctxt) = case ctxt of CxEmpty l -> return $ Just $ S.CxEmpty l- CxSingle l a -> checkAsst False a >>= return . Just . S.CxSingle l- CxTuple l as -> mapM (checkAsst False) as >>= return . Just . S.CxTuple l+ CxSingle l a -> checkAsst a >>= return . Just . S.CxSingle l+ CxTuple l as -> mapM checkAsst as >>= return . Just . S.CxTuple l checkContext _ = return Nothing -checkAsst :: Bool -> PAsst L -> P (S.Asst L)-checkAsst isSimple asst =+checkAsst :: PAsst L -> P (S.Asst L)+checkAsst asst = case asst of- ClassA l qn pts -> do- ts <- mapM (checkAsstParam isSimple) pts- return $ S.ClassA l qn ts- AppA l n pts -> do- ts <- mapM (checkAsstParam isSimple) pts- return $ S.AppA l n ts- InfixA l a op b -> do- [a',b'] <- mapM (checkAsstParam isSimple) [a,b]- return $ S.InfixA l a' op b'+ TypeA l pt -> do+ t <- checkType pt+ return $ S.TypeA l t IParam l ipn pt -> do t <- checkType pt return $ S.IParam l ipn t- EqualP l pa pb -> do- a <- checkType pa- b <- checkType pb- return $ S.EqualP l a b ParenA l a -> do- a' <- checkAsst isSimple a+ a' <- checkAsst a return $ S.ParenA l a'- WildCardA l a ->- if isSimple then fail "Malformed Context: WildCards not allowed in simple contexts"- else return $ S.WildCardA l a -checkAsstParam :: Bool -> PType L -> P (S.Type L)-checkAsstParam isSimple t = do- exts <- getExtensions- if FlexibleContexts `elem` exts- then checkType t- else case t of- TyVar l n -> return $ S.TyVar l n- TyWildCard l mn -> return $ S.TyWildCard l mn- TyParen l t1 -> do t1' <- checkAsstParam isSimple t1- return $ S.TyParen l t1'- TyApp l pf pt | not isSimple -> do- f <- checkAsstParam isSimple pf- t' <- checkType pt- return $ S.TyApp l f t'- _ -> fail "Malformed context: FlexibleContexts is not enabled"- ----------------------------------------------------------------------------- -- Checking Headers @@ -753,6 +737,7 @@ RightArrApp l e1 e2 -> check2Exprs e1 e2 (S.RightArrApp l) LeftArrHighApp l e1 e2 -> check2Exprs e1 e2 (S.LeftArrHighApp l) RightArrHighApp l e1 e2 -> check2Exprs e1 e2 (S.RightArrHighApp l)+ ArrOp l e -> S.ArrOp l <$> checkExpr e -- LamdaCase LCase l alts -> return $ S.LCase l alts@@ -1107,6 +1092,7 @@ checkEnabled ExplicitForAll ctxt <- checkContext cs check1Type pt (S.TyForall l tvs ctxt)+ TyStar l -> return $ S.TyStar l TyFun l at rt -> check2Types at rt (S.TyFun l) TyTuple l b pts -> checkTypes pts >>= return . S.TyTuple l b TyUnboxedSum l es -> checkTypes es >>= return . S.TyUnboxedSum l@@ -1124,14 +1110,8 @@ >> check2Types at bt (flip (S.TyInfix l) op) TyKind l pt k -> check1Type pt (flip (S.TyKind l) k) - -- TyPred can be a valid type if ConstraintKinds is enabled, unless it is an implicit parameter, which is not a valid type- TyPred _ (ClassA l className cvars) -> mapM checkType cvars >>= \vars -> return (foldl1 (S.TyApp l) (S.TyCon l className:vars))- TyPred _ (InfixA l t0 op t1) -> S.TyInfix l <$> checkType t0 <*> pure (UnpromotedName (ann op) op) <*> checkType t1- TyPred _ (EqualP l t0 t1) -> do- checkEnabledOneOf [TypeFamilies, GADTs]- S.TyEquals l <$> checkType t0 <*> checkType t1- TyPromoted l p -> return $ S.TyPromoted l p -- ??+ TyEquals l at bt -> check2Types at bt (S.TyEquals l) TySplice l s -> do checkEnabled TemplateHaskell return $ S.TySplice l s@@ -1177,9 +1157,9 @@ -- test for that. checkKind :: Kind l -> P () checkKind k = case k of- KindVar _ q | constrKind q -> checkEnabledOneOf [ConstraintKinds, DataKinds]+ S.TyVar _ q | constrKind q -> checkEnabledOneOf [ConstraintKinds, DataKinds] where constrKind name = case name of- (UnQual _ (Ident _ n)) -> n == "Constraint"+ Ident _ n -> n == "Constraint" _ -> False _ -> checkEnabled DataKinds@@ -1286,11 +1266,11 @@ splitTilde t = go t where go (TyApp loc t1 t2) | TyBang _ (LazyTy eqloc) (NoUnpackPragma _) t2' <- t2- = TyPred loc (EqualP (loc <** [srcInfoSpan eqloc]) (go t1) t2')+ = TyEquals (loc <** [srcInfoSpan eqloc]) (go t1) t2' | otherwise = case go t1 of- (TyPred _ (EqualP eqloc tl tr)) ->- TyPred loc (EqualP (eqloc <++> ann t2 <** srcInfoPoints eqloc) tl (TyApp (ann tr <++> ann t2) tr t2))+ TyEquals eqloc tl tr ->+ TyEquals (eqloc <++> ann t2 <** srcInfoPoints eqloc) tl (TyApp (ann tr <++> ann t2) tr t2) t' -> TyApp loc t' t2 go t' = t'
src/Language/Haskell/Exts/Parser.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, DeriveFunctor #-} {-# OPTIONS_GHC -fno-warn-orphans #-}+ ----------------------------------------------------------------------------- -- | -- Module : Language.Haskell.Exts.Annotated.Parser
src/Language/Haskell/Exts/Pretty.hs view
@@ -117,7 +117,6 @@ instance Monad (DocM s) where (>>=) = thenDocM (>>) = then_DocM- return = retDocM {-# INLINE thenDocM #-} {-# INLINE then_DocM #-}@@ -480,14 +479,17 @@ pretty (SpliceDecl _ splice) = pretty splice + pretty (TSpliceDecl _ splice) =+ pretty splice+ pretty (TypeSig _ nameList qualType) = mySep ((punctuate comma . map pretty $ nameList) ++ [text "::", pretty qualType]) -- Req can be ommitted if it is empty -- We must print prov if req is nonempty- pretty (PatSynSig _ ns mtvs prov req t) =- let contexts = map (maybePP pretty) [prov, req]+ pretty (PatSynSig _ ns mtvs prov mtvs2 req t) =+ let contexts = [maybePP pretty prov, ppForall mtvs2, maybePP pretty req] in mySep ( [text "pattern" ] ++ punctuate comma (map pretty ns)@@ -769,12 +771,12 @@ myFsep [ppForall tvs, maybePP pretty ctxt, pretty con] instance Pretty (GadtDecl l) where- pretty (GadtDecl _pos name names ty) =+ pretty (GadtDecl _pos name tvs ctxt names ty) = case names of Nothing -> myFsep [pretty name, text "::", pretty ty] Just ts' ->- myFsep [pretty name, text "::" ,+ myFsep [pretty name, text "::" , ppForall tvs, maybePP pretty ctxt, braceList . map pretty $ ts', text "->", pretty ty] instance Pretty (ConDecl l) where@@ -807,15 +809,31 @@ pretty NoUnpackPragma {} = empty instance Pretty (Deriving l) where- pretty (Deriving _ mds [d]) = text "deriving" <+> maybePP pretty mds <+> pretty d- pretty (Deriving _ mds d) = text "deriving" <+> maybePP pretty mds <+> parenList (map pretty d)+ pretty (Deriving _ mds d) =+ hsep [ text "deriving"+ , pp_strat_before+ , pp_dct+ , pp_strat_after ]+ where+ pp_dct =+ case d of+ [d'] -> pretty d'+ _ -> parenList (map pretty d) + -- @via@ is unique in that in comes /after/ the class being derived,+ -- so we must special-case it.+ (pp_strat_before, pp_strat_after) =+ case mds of+ Just (via@DerivVia{}) -> (empty, pretty via)+ _ -> (maybePP pretty mds, empty)+ instance Pretty (DerivStrategy l) where- pretty ds = text $+ pretty ds = case ds of- DerivStock _ -> "stock"- DerivAnyclass _ -> "anyclass"- DerivNewtype _ -> "newtype"+ DerivStock _ -> text "stock"+ DerivAnyclass _ -> text "anyclass"+ DerivNewtype _ -> text "newtype"+ DerivVia _ ty -> text "via" <+> pretty ty ------------------------- Types ------------------------- ppBType :: Type l -> Doc@@ -833,6 +851,7 @@ instance Pretty (Type l) where prettyPrec p (TyForall _ mtvs ctxt htype) = parensIf (p > 0) $ myFsep [ppForall mtvs, maybePP pretty ctxt, pretty htype]+ prettyPrec _ (TyStar _) = text "*" prettyPrec p (TyFun _ a b) = parensIf (p > 0) $ myFsep [ppBType a, text "->", pretty b] prettyPrec _ (TyTuple _ bxd l) =@@ -852,7 +871,6 @@ prettyPrec _ (TyVar _ name) = pretty name prettyPrec _ (TyCon _ name) = pretty name prettyPrec _ (TyParen _ t) = parens (pretty t)--- prettyPrec _ (TyPred asst) = pretty asst prettyPrec _ (TyInfix _ a op b) = myFsep [pretty a, pretty op, pretty b] prettyPrec _ (TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k]) prettyPrec _ (TyPromoted _ p) = pretty p@@ -875,14 +893,25 @@ PromotedCon _ hasQuote qn -> addQuote hasQuote (pretty qn) PromotedList _ hasQuote list ->- addQuote hasQuote $ bracketList . punctuate comma . map pretty $ list+ addQuote hasQuote $ brackets . addSpace list . prettyList $ list PromotedTuple _ list ->- addQuote True $ parenList $ map pretty list+ addQuote True $ parens . addSpace list . prettyList $ list PromotedUnit {} -> addQuote True $ text "()" where addQuote True doc = char '\'' <> doc addQuote False doc = doc + checkQuote (PromotedCon _ q _) = q+ checkQuote (PromotedList _ q _) = q+ checkQuote (PromotedTuple _ _) = True+ checkQuote _ = False++ addSpace (TyPromoted _ l0:_) | checkQuote l0 = (space <>)+ addSpace _ = id++ prettyList = myFsepSimple . punctuate comma . map pretty++ instance Pretty (TyVarBind l) where pretty (KindedVar _ var kind) = parens $ myFsep [pretty var, text "::", pretty kind] pretty (UnkindedVar _ var) = pretty var@@ -894,16 +923,6 @@ ---------------------------- Kinds ---------------------------- -instance Pretty (Kind l) where- prettyPrec _ KindStar{} = text "*"- prettyPrec n (KindFn _ a b) = parensIf (n > 0) $ myFsep [prettyPrec 1 a, text "->", pretty b]- prettyPrec _ (KindParen _ k) = parens $ pretty k- prettyPrec _ (KindVar _ n) = pretty n- prettyPrec _ (KindTuple _ t) = parenList . map pretty $ t- prettyPrec _ (KindList _ l) = brackets . pretty $ l- prettyPrec n (KindApp _ a b) =- parensIf (n > 3) $ myFsep [prettyPrec 3 a, prettyPrec 4 b]- ppOptKind :: Maybe (Kind l) -> [Doc] ppOptKind Nothing = [] ppOptKind (Just k) = [text "::", pretty k]@@ -1072,6 +1091,7 @@ prettyPrec p (RightArrApp _ l r) = parensIf (p > 0) $ myFsep [pretty l, text ">-", pretty r] prettyPrec p (LeftArrHighApp _ l r) = parensIf (p > 0) $ myFsep [pretty l, text "-<<", pretty r] prettyPrec p (RightArrHighApp _ l r) = parensIf (p > 0) $ myFsep [pretty l, text ">>-", pretty r]+ prettyPrec _ (ArrOp _ e) = myFsep [text "(|", pretty e, text "|)"] -- LamdaCase prettyPrec p (LCase _ altList) = parensIf (p > 1) $@@ -1103,6 +1123,7 @@ instance Pretty (Bracket l) where pretty (ExpBracket _ e) = ppBracket "[|" e+ pretty (TExpBracket _ e) = myFsep [text "[||", pretty e, text "||]"] pretty (PatBracket _ p) = ppBracket "[p|" p pretty (TypeBracket _ t) = ppBracket "[t|" t pretty (DeclBracket _ d) =@@ -1113,6 +1134,9 @@ instance Pretty (Splice l) where pretty (IdSplice _ s) = char '$' <> text s+ pretty (TIdSplice _ s) = char '$' <> char '$' <> text s+ pretty (TParenSplice _ e) =+ myFsep [text "$$(", pretty e, char ')'] pretty (ParenSplice _ e) = myFsep [text "$(", pretty e, char ')'] @@ -1340,15 +1364,10 @@ pretty (CxSingle _ ctxt) = pretty ctxt <+> text "=>" pretty (CxTuple _ context) = mySep [parenList (map pretty context), text "=>"] --- hacked for multi-parameter type classes instance Pretty (Asst l) where- pretty (ClassA _ a ts) = myFsep $ pretty a : map ppAType ts- pretty (AppA _ n ns) = myFsep $ pretty n : map pretty ns- pretty (InfixA _ a op b) = myFsep [pretty a, ppQNameInfix op, pretty b]+ pretty (TypeA _ t) = pretty t pretty (IParam _ i t) = myFsep [pretty i, text "::", pretty t]- pretty (EqualP _ t1 t2) = myFsep [pretty t1, text "~", pretty t2] pretty (ParenA _ a) = parens (pretty a)- pretty (WildCardA _ mn) = char '_' <> maybePP pretty mn -- Pretty print a source location, useful for printing out error messages instance Pretty SrcLoc where@@ -1618,6 +1637,7 @@ pretty (P.RightArrApp _ l r) = myFsep [pretty l, text ">-", pretty r] pretty (P.LeftArrHighApp _ l r) = myFsep [pretty l, text "-<<", pretty r] pretty (P.RightArrHighApp _ l r) = myFsep [pretty l, text ">>-", pretty r]+ pretty (P.ArrOp _ e) = myFsep [text "(|", pretty e, text "|)"] pretty (P.AsPat _ name (P.IrrPat _ pat)) = myFsep [pretty name <> char '@', char '~' <> pretty pat] pretty (P.AsPat _ name pat) =@@ -1659,17 +1679,14 @@ pretty (P.CxTuple _ assts) = myFsep [parenList (map pretty assts), text "=>"] instance SrcInfo loc => Pretty (P.PAsst loc) where- pretty (P.ClassA _ a ts) = myFsep $ pretty ( a) : map (prettyPrec prec_atype) ts- pretty (P.AppA _ n ns) = myFsep $ pretty n : map (prettyPrec prec_atype) ns- pretty (P.InfixA _ a op b) = myFsep [pretty a, ppQNameInfix op, pretty b]+ pretty (P.TypeA _ t) = pretty t pretty (P.IParam _ i t) = myFsep [pretty i, text "::", pretty t]- pretty (P.EqualP _ t1 t2) = myFsep [pretty t1, text "~", pretty t2] pretty (P.ParenA _ a) = parens (pretty a)- pretty (P.WildCardA _ mn) = char '_' <> maybePP pretty mn instance SrcInfo loc => Pretty (P.PType loc) where prettyPrec p (P.TyForall _ mtvs ctxt htype) = parensIf (p > 0) $ myFsep [ppForall mtvs, maybePP pretty ctxt, pretty htype]+ prettyPrec _ (P.TyStar _) = text "*" prettyPrec p (P.TyFun _ a b) = parensIf (p > 0) $ myFsep [prettyPrec prec_btype a, text "->", pretty b] prettyPrec _ (P.TyTuple _ bxd l) =@@ -1693,6 +1710,7 @@ prettyPrec _ (P.TyInfix _ a op b) = myFsep [pretty a, pretty op, pretty b] prettyPrec _ (P.TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k]) prettyPrec _ (P.TyPromoted _ p) = pretty p+ prettyPrec _ (P.TyEquals _ a b) = myFsep [pretty a, text "~", pretty b] prettyPrec _ (P.TySplice _ s) = pretty s prettyPrec _ (P.TyBang _ b u t) = pretty u <+> pretty b <> prettyPrec prec_atype t prettyPrec _ (P.TyWildCard _ mn) = char '_' <> maybePP pretty mn
src/Language/Haskell/Exts/SrcLoc.hs view
@@ -18,6 +18,10 @@ import Data.Data import GHC.Generics (Generic) +showInt :: Int -> String+showInt i | i < 0 = "(" ++ show i ++ ")"+showInt i = show i+ -- | A single position in the source. data SrcLoc = SrcLoc { srcFilename :: String@@ -29,7 +33,7 @@ instance Show SrcLoc where showsPrec n (SrcLoc fn sl sc) = showParen (n >= 11) $- showString $ "SrcLoc " ++ show fn ++ " " ++ unwords (map show [sl,sc])+ showString $ "SrcLoc " ++ show fn ++ " " ++ unwords (map showInt [sl,sc]) noLoc :: SrcLoc noLoc = SrcLoc "" (-1) (-1)@@ -47,7 +51,7 @@ instance Show SrcSpan where showsPrec n (SrcSpan fn sl sc el ec) = showParen (n >= 11) $- showString $ "SrcSpan " ++ show fn ++ " " ++ unwords (map show [sl,sc,el,ec])+ showString $ "SrcSpan " ++ show fn ++ " " ++ unwords (map showInt [sl,sc,el,ec]) -- | Returns 'srcSpanStartLine' and 'srcSpanStartColumn' in a pair.
src/Language/Haskell/Exts/Syntax.hs view
@@ -65,7 +65,7 @@ -- * Class Assertions and Contexts Context(..), FunDep(..), Asst(..), -- * Types- Type(..), Boxed(..), Kind(..), TyVarBind(..), Promoted(..),+ Type(..), Boxed(..), Kind, TyVarBind(..), Promoted(..), TypeEqn (..), -- * Expressions Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),@@ -97,14 +97,14 @@ -- ** Main function of a program main_name, -- ** Constructors- unit_con_name, tuple_con_name, list_cons_name, unboxed_singleton_con_name,+ unit_con_name, tuple_con_name, list_con_name, list_cons_name, unboxed_singleton_con_name, unit_con, tuple_con, unboxed_singleton_con, -- ** Special identifiers as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name, export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name, stdcall_name, ccall_name, cplusplus_name, dotnet_name, jvm_name, js_name, javascript_name, capi_name, forall_name, family_name, role_name, hole_name,- stock_name, anyclass_name,+ stock_name, anyclass_name, via_name, -- ** Type constructors unit_tycon_name, fun_tycon_name, list_tycon_name, tuple_tycon_name, unboxed_singleton_tycon_name, unit_tycon, fun_tycon, list_tycon, tuple_tycon, unboxed_singleton_tycon,@@ -134,7 +134,7 @@ -- data constructors. data SpecialCon l = UnitCon l -- ^ unit type and data constructor @()@- | ListCon l -- ^ list type constructor @[]@+ | ListCon l -- ^ list type and data constructor @[]@ | FunCon l -- ^ function type constructor @->@ | TupleCon l Boxed Int -- ^ /n/-ary tuple type and data -- constructors @(,)@ etc, possibly boxed @(\#,\#)@@@ -241,7 +241,7 @@ -- | An explicit import specification list. data ImportSpecList l = ImportSpecList l Bool [ImportSpec l]- -- A list of import specifications.+ -- ^ A list of import specifications. -- The 'Bool' is 'True' if the names are excluded -- by @hiding@. deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)@@ -299,9 +299,13 @@ -- ^ A declaration of default types | SpliceDecl l (Exp l) -- ^ A Template Haskell splicing declaration+ | TSpliceDecl l (Exp l)+ -- ^ A typed Template Haskell splicing declaration | TypeSig l [Name l] (Type l) -- ^ A type signature declaration- | PatSynSig l [Name l] (Maybe [TyVarBind l]) (Maybe (Context l)) (Maybe (Context l)) (Type l)+ | PatSynSig l [Name l] (Maybe [TyVarBind l]) (Maybe (Context l))+ (Maybe [TyVarBind l]) (Maybe (Context l))+ (Type l) -- ^ A pattern synonym signature declation | FunBind l [Match l] -- ^ A set of function binding clauses@@ -485,12 +489,13 @@ -- | Which technique the user explicitly requested when deriving an instance. data DerivStrategy l- = DerivStock l -- ^ GHC's \"standard\" strategy, which is to implement a- -- custom instance for the data type. This only works for- -- certain types that GHC knows about (e.g., 'Eq', 'Show',- -- 'Functor' when @-XDeriveFunctor@ is enabled, etc.)- | DerivAnyclass l -- ^ @-XDeriveAnyClass@- | DerivNewtype l -- ^ @-XGeneralizedNewtypeDeriving@+ = DerivStock l -- ^ GHC's \"standard\" strategy, which is to implement a+ -- custom instance for the data type. This only works for+ -- certain types that GHC knows about (e.g., 'Eq', 'Show',+ -- 'Functor' when @-XDeriveFunctor@ is enabled, etc.)+ | DerivAnyclass l -- ^ @-XDeriveAnyClass@+ | DerivNewtype l -- ^ @-XGeneralizedNewtypeDeriving@+ | DerivVia l (Type l) -- ^ @-XDerivingVia@ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic) -- | A binding group inside a @let@ or @where@ clause.@@ -558,7 +563,9 @@ -- then @'Maybe' ['FieldDecl' l]@ is 'Nothing', and the whole constructor's -- type (such as @Int -> Bool -> Ty@) is stored in the last 'Type' field. data GadtDecl l- = GadtDecl l (Name l) (Maybe [FieldDecl l]) (Type l)+ = GadtDecl l (Name l)+ {-forall-} (Maybe [TyVarBind l]) {- . -} (Maybe (Context l))+ {- => -} (Maybe [FieldDecl l]) (Type l) deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic) -- | Declarations inside a class declaration.@@ -624,6 +631,7 @@ (Maybe [TyVarBind l]) (Maybe (Context l)) (Type l) -- ^ qualified type+ | TyStar l -- ^ @*@, the type of types | TyFun l (Type l) (Type l) -- ^ function type | TyTuple l Boxed [Type l] -- ^ tuple type, possibly boxed | TyUnboxedSum l [Type l] -- ^ unboxed tuple type@@ -669,15 +677,7 @@ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic) -- | An explicit kind annotation.-data Kind l- = KindStar l -- ^ @*@, the kind of types- | KindFn l (Kind l) (Kind l) -- ^ @->@, the kind of a type constructor- | KindParen l (Kind l) -- ^ a parenthesised kind- | KindVar l (QName l) -- ^ @k@, a kind variable (-XPolyKinds)- | KindApp l (Kind l) (Kind l) -- ^ @k1 k2@- | KindTuple l [Kind l] -- ^ @'(k1,k2,k3)@, a promoted tuple- | KindList l (Kind l) -- ^ @'[k1]@, a promoted list literal- deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)+type Kind = Type -- | A functional dependency, given on the form@@ -694,17 +694,10 @@ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic) -- | Class assertions.--- In Haskell 98, the argument would be a /tyvar/, but this definition--- allows multiple parameters, and allows them to be /type/s.--- Also extended with support for implicit parameters and equality constraints. data Asst l- = ClassA l (QName l) [Type l] -- ^ ordinary class assertion- | AppA l (Name l) [Type l] -- ^ constraint kind assertion, @Dict :: cxt a => Dict cxt@- | InfixA l (Type l) (QName l) (Type l) -- ^ class assertion where the class name is given infix+ = TypeA l (Type l) -- ^ type assertion | IParam l (IPName l) (Type l) -- ^ implicit parameter assertion- | EqualP l (Type l) (Type l) -- ^ type equality constraint | ParenA l (Asst l) -- ^ parenthesised class assertion- | WildCardA l (Maybe (Name l)) -- ^ Context Wildcard deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic) -- | /literal/@@ -807,6 +800,7 @@ | RightArrApp l (Exp l) (Exp l) -- ^ arrow application (from right): /exp/ @>-@ /exp/ | LeftArrHighApp l (Exp l) (Exp l) -- ^ higher-order arrow application (from left): /exp/ @-<<@ /exp/ | RightArrHighApp l (Exp l) (Exp l) -- ^ higher-order arrow application (from right): /exp/ @>>-@ /exp/+ | ArrOp l (Exp l) -- ^ arrow control operators: @(| /exp/ |)@ -- LambdaCase | LCase l [Alt l] -- ^ @\case@ /alts/@@ -827,6 +821,7 @@ -- | A template haskell bracket expression. data Bracket l = ExpBracket l (Exp l) -- ^ expression bracket: @[| ... |]@+ | TExpBracket l (Exp l) -- ^ typed expression bracket: @[|| ... ||]@ | PatBracket l (Pat l) -- ^ pattern bracket: @[p| ... |]@ | TypeBracket l (Type l) -- ^ type bracket: @[t| ... |]@ | DeclBracket l [Decl l] -- ^ declaration bracket: @[d| ... |]@@@ -835,7 +830,9 @@ -- | A template haskell splice expression data Splice l = IdSplice l String -- ^ variable splice: @$var@+ | TIdSplice l String -- ^ typed variable splice: @$$var@ | ParenSplice l (Exp l) -- ^ parenthesised expression splice: @$(/exp/)@+ | TParenSplice l (Exp l) -- ^ parenthesised typed expression splice: @$$(/exp/)@ deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic) -- | The safety of a foreign function call.@@ -1022,6 +1019,9 @@ tuple_con_name :: l -> Boxed -> Int -> QName l tuple_con_name l b i = Special l (TupleCon l b (i+1)) +list_con_name :: l -> QName l+list_con_name l = Special l (ListCon l)+ list_cons_name :: l -> QName l list_cons_name l = Special l (Cons l) @@ -1052,7 +1052,7 @@ export_name, safe_name, unsafe_name, interruptible_name, threadsafe_name, stdcall_name, ccall_name, cplusplus_name, dotnet_name, jvm_name, js_name, javascript_name, capi_name, forall_name,- family_name, role_name, stock_name, anyclass_name :: l -> Name l+ family_name, role_name, stock_name, anyclass_name, via_name :: l -> Name l export_name l = Ident l "export" safe_name l = Ident l "safe" unsafe_name l = Ident l "unsafe"@@ -1071,6 +1071,7 @@ role_name l = Ident l "role" stock_name l = Ident l "stock" anyclass_name l = Ident l "anyclass"+via_name l = Ident l "via" unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: l -> QName l unit_tycon_name l = unit_con_name l@@ -1249,8 +1250,13 @@ ann (DerivStock l) = l ann (DerivAnyclass l) = l ann (DerivNewtype l) = l- amap = fmap+ ann (DerivVia l _) = l + amap f (DerivStock l) = DerivStock (f l)+ amap f (DerivAnyclass l) = DerivAnyclass (f l)+ amap f (DerivNewtype l) = DerivNewtype (f l)+ amap f (DerivVia l t) = DerivVia (f l) t+ instance Annotated TypeEqn where ann (TypeEqn l _ _) = l amap f (TypeEqn l a b) = TypeEqn (f l) a b@@ -1283,8 +1289,9 @@ InfixDecl l _ _ _ -> l DefaultDecl l _ -> l SpliceDecl l _ -> l+ TSpliceDecl l _ -> l TypeSig l _ _ -> l- PatSynSig l _ _ _ _ _ -> l+ PatSynSig l _ _ _ _ _ _ -> l FunBind l _ -> l PatBind l _ _ _ -> l ForImp l _ _ _ _ _ -> l@@ -1320,8 +1327,9 @@ InfixDecl l a k ops -> InfixDecl (f l) a k ops DefaultDecl l ts -> DefaultDecl (f l) ts SpliceDecl l sp -> SpliceDecl (f l) sp+ TSpliceDecl l sp -> TSpliceDecl (f l) sp TypeSig l ns t -> TypeSig (f l) ns t- PatSynSig l n dh c1 c2 t -> PatSynSig (f l) n dh c1 c2 t+ PatSynSig l n dh c1 dh2 c2 t -> PatSynSig (f l) n dh c1 dh2 c2 t FunBind l ms -> FunBind (f l) ms PatBind l p rhs bs -> PatBind (f l) p rhs bs ForImp l cc msf s n t -> ForImp (f l) cc msf s n t@@ -1434,8 +1442,8 @@ amap f (FieldDecl l ns t) = FieldDecl (f l) ns t instance Annotated GadtDecl where- ann (GadtDecl l _ _ _) = l- amap f (GadtDecl l n t1 t2) = GadtDecl (f l) n t1 t2+ ann (GadtDecl l _ _ _ _ _) = l+ amap f (GadtDecl l n t1 t2 t3 t4) = GadtDecl (f l) n t1 t2 t3 t4 instance Annotated ClassDecl where ann (ClsDecl l _) = l@@ -1494,6 +1502,7 @@ instance Annotated Type where ann t = case t of TyForall l _ _ _ -> l+ TyStar l -> l TyFun l _ _ -> l TyTuple l _ _ -> l TyUnboxedSum l _ -> l@@ -1513,6 +1522,7 @@ TyQuasiQuote l _ _ -> l amap f t1 = case t1 of TyForall l mtvs mcx t -> TyForall (f l) mtvs mcx t+ TyStar l -> TyStar (f l) TyFun l t1' t2 -> TyFun (f l) t1' t2 TyTuple l b ts -> TyTuple (f l) b ts TyUnboxedSum l s -> TyUnboxedSum (f l) s@@ -1545,22 +1555,6 @@ amap f (KindedVar l n k) = KindedVar (f l) n k amap f (UnkindedVar l n) = UnkindedVar (f l) n -instance Annotated Kind where- ann (KindStar l) = l- ann (KindFn l _ _) = l- ann (KindParen l _) = l- ann (KindVar l _) = l- ann (KindApp l _ _) = l- ann (KindTuple l _) = l- ann (KindList l _) = l- amap f (KindStar l) = KindStar (f l)- amap f (KindFn l k1 k2) = KindFn (f l) k1 k2- amap f (KindParen l k) = KindParen (f l) k- amap f (KindVar l n) = KindVar (f l) n- amap f (KindApp l k1 k2) = KindApp (f l) k1 k2- amap f (KindTuple l ks) = KindTuple (f l) ks- amap f (KindList l ks) = KindList (f l) ks- instance Annotated FunDep where ann (FunDep l _ _) = l amap f (FunDep l ns1 ns2) = FunDep (f l) ns1 ns2@@ -1575,21 +1569,13 @@ instance Annotated Asst where ann asst = case asst of- ClassA l _ _ -> l- AppA l _ _ -> l- InfixA l _ _ _ -> l+ TypeA l _ -> l IParam l _ _ -> l- EqualP l _ _ -> l ParenA l _ -> l- WildCardA l _ -> l amap f asst = case asst of- ClassA l qn ts -> ClassA (f l) qn ts- AppA l n ns -> AppA (f l) n ns- InfixA l ta qn tb -> InfixA (f l) ta qn tb+ TypeA l t -> TypeA (f l) t IParam l ipn t -> IParam (f l) ipn t- EqualP l t1 t2 -> EqualP (f l) t1 t2 ParenA l a -> ParenA (f l) a- WildCardA l mn -> WildCardA (f l) mn instance Annotated Literal where ann lit = case lit of@@ -1670,6 +1656,7 @@ RightArrApp l _ _ -> l LeftArrHighApp l _ _ -> l RightArrHighApp l _ _ -> l+ ArrOp l _ -> l LCase l _ -> l @@ -1730,6 +1717,7 @@ RightArrApp l e1' e2 -> RightArrApp (f l) e1' e2 LeftArrHighApp l e1' e2 -> LeftArrHighApp (f l) e1' e2 RightArrHighApp l e1' e2 -> RightArrHighApp (f l) e1' e2+ ArrOp l e -> ArrOp (f l) e LCase l alts -> LCase (f l) alts MultiIf l alts -> MultiIf (f l) alts@@ -1746,19 +1734,25 @@ instance Annotated Bracket where ann (ExpBracket l _) = l+ ann (TExpBracket l _) = l ann (PatBracket l _) = l ann (TypeBracket l _) = l ann (DeclBracket l _) = l amap f (ExpBracket l e) = ExpBracket (f l) e+ amap f (TExpBracket l e) = TExpBracket (f l) e amap f (PatBracket l p) = PatBracket (f l) p amap f (TypeBracket l t) = TypeBracket (f l) t amap f (DeclBracket l ds) = DeclBracket (f l) ds instance Annotated Splice where ann (IdSplice l _) = l+ ann (TIdSplice l _) = l ann (ParenSplice l _) = l+ ann (TParenSplice l _) = l amap f (IdSplice l s) = IdSplice (f l) s+ amap f (TIdSplice l s) = TIdSplice (f l) s amap f (ParenSplice l e) = ParenSplice (f l) e+ amap f (TParenSplice l e) = TParenSplice (f l) e instance Annotated Safety where ann (PlayRisky l) = l
src/Language/Preprocessor/Unlit.hs view
@@ -14,17 +14,17 @@ classify (('\\':x):xs) | x == "begin{code}" = Blank : allProg xs where allProg [] = [] -- Should give an error message, -- but I have no good position information.- allProg (('\\':x):xs) | "end{code}"`isPrefixOf`x = Blank : classify xs- allProg (x:xs) = Program x:allProg xs-classify (('>':x):xs) = Program (' ':x) : classify xs+ allProg (('\\':y):ys) | "end{code}" `isPrefixOf` y = Blank : classify ys+ allProg (y:ys) = Program y : allProg ys+classify (('>':x):xs) = Program (' ' : x) : classify xs classify (('#':x):xs) = (case words x of (line:rest) | all isDigit line -> Include (read line) (unwords rest) _ -> Pre x ) : classify xs --classify (x:xs) | "{-# LINE" `isPrefixOf` x = Program x: classify xs-classify (x:xs) | all isSpace x = Blank:classify xs-classify (x:xs) = Comment:classify xs+classify (x:xs) | all isSpace x = Blank : classify xs+classify (_:xs) = Comment : classify xs unclassify :: Classified -> String unclassify (Program s) = s@@ -43,16 +43,16 @@ adjacent :: FilePath -> Int -> Classified -> [Classified] -> [Classified] adjacent file 0 _ (x :xs) = x : adjacent file 1 x xs -- force evaluation of line number-adjacent file n y@(Program _) (x@Comment :xs) = error (message file n "program" "comment")-adjacent file n y@(Program _) (x@(Include i f):xs) = x: adjacent f i y xs+adjacent file n (Program _) (Comment :_ ) = error (message file n "program" "comment")+adjacent _ _ y@(Program _) (x@(Include i f):xs) = x: adjacent f i y xs adjacent file n y@(Program _) (x@(Pre _) :xs) = x: adjacent file (n+1) y xs-adjacent file n y@Comment (x@(Program _) :xs) = error (message file n "comment" "program")-adjacent file n y@Comment (x@(Include i f):xs) = x: adjacent f i y xs+adjacent file n Comment ( (Program _) :_ ) = error (message file n "comment" "program")+adjacent _ _ y@Comment (x@(Include i f):xs) = x: adjacent f i y xs adjacent file n y@Comment (x@(Pre _) :xs) = x: adjacent file (n+1) y xs-adjacent file n y@Blank (x@(Include i f):xs) = x: adjacent f i y xs+adjacent _ _ y@Blank (x@(Include i f):xs) = x: adjacent f i y xs adjacent file n y@Blank (x@(Pre _) :xs) = x: adjacent file (n+1) y xs-adjacent file n _ (x@next :xs) = x: adjacent file (n+1) x xs-adjacent file n _ [] = []+adjacent file n _ (x :xs) = x: adjacent file (n+1) x xs+adjacent _ _ _ [] = [] message :: String -> Int -> String -> String -> String message "\"\"" n p c = "Line "++show n++": "++p++ " line before "++c++" line.\n"@@ -63,7 +63,7 @@ -- Re-implementation of 'lines', for better efficiency (but decreased laziness). -- Also, importantly, accepts non-standard DOS and Mac line ending characters. inlines :: String -> [String]-inlines s = lines' s id+inlines = (`lines'` id) where lines' [] acc = [acc []] lines' ('\^M':'\n':s) acc = acc [] : lines' s id -- DOS
tests/Extensions.hs view
@@ -22,12 +22,30 @@ (~~) :: Monad m => [Extension] -> [Extension] -> Property m xts1 ~~ xts2 = forAll $ \lang -> ((==) `on` sort . toExtensionList lang) xts1 xts2 +-- arbitrary examples+e1 :: KnownExtension+e1 = OverlappingInstances++e2 :: KnownExtension+e2 = UndecidableInstances+ extensionProperties :: TestTree extensionProperties = localOption (SmallCheckDepth 2) $ testGroup "Properties of LANGUAGE extensions" $ [ testProperty "identity" $ \x -> x ~~ x , testProperty "idempotence" $ \x -> x ++ x ~~ x- , testProperty "right bias" $ \x y -> x ++ y ++ x ~~ y ++ x+ -- Actually, let's not exhaustively check n^2 cases+ -- , testProperty "right bias" $ \x y -> x ++ y ++ x ~~ y ++ x+ , testProperty "right bias - override to disabled" $+ [EnableExtension e1, DisableExtension e1] ~~ [DisableExtension e1]+ , testProperty "right bias - override to enabled" $+ [DisableExtension e1, EnableExtension e1] ~~ [EnableExtension e1]+ , testProperty "right bias - interleaved override to disabled" $+ [EnableExtension e1, EnableExtension e2, DisableExtension e1]+ ~~ [EnableExtension e2, DisableExtension e1]+ , testProperty "right bias - interleaved override to enabled" $+ [DisableExtension e1, EnableExtension e2, EnableExtension e1]+ ~~ [EnableExtension e2, EnableExtension e1] , testProperty "closedness of implication" $ \x -> impliesExts (impliesExts x) == impliesExts x , testProperty "closedness of toExtensionList" $ \l x -> let es = toExtensionList l x in es == impliesExts es , testProperty "opposite extensions 1" $ \x -> [EnableExtension x, DisableExtension x] ~~ [DisableExtension x]
tests/Runner.hs view
@@ -180,7 +180,9 @@ readUTF8File :: FilePath -> IO String readUTF8File fp = openFile fp ReadMode >>= \h -> do hSetEncoding h utf8- hGetContents h+ c <- hGetContents h >>= \s -> length s `seq` return s+ hClose h+ return c parseUTF8FileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment])) parseUTF8FileWithComments p fp = readUTF8File fp >>= (return . parseFileContentsWithComments p)
tests/examples/AmbiguousFixities.hs.exactprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc "" -1 -1) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
tests/examples/AmbiguousFixities.hs.prettyparser.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc "" -1 -1) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
tests/examples/AmbiguousFixities.hs.prettyprinter.golden view
@@ -1,1 +1,1 @@-ParseFailed (SrcLoc "" -1 -1) "Ambiguous infix expression"+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
+ tests/examples/ArrowBrackets.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE Arrows #-}+module ArrowBrackets where++foo = proc (x, y) -> (| f (g -< x) |) y++bar = proc (x, y) -> do+ z <- (| f (g -< x) |) y+ (| f (h -< z) |) y
+ tests/examples/ArrowBrackets.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ArrowBrackets.hs.parser.golden view
@@ -0,0 +1,541 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 1 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 6 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 9 1 9 1+ , SrcSpan "tests/examples/ArrowBrackets.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 2 1 2 7+ , SrcSpan "tests/examples/ArrowBrackets.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "ArrowBrackets")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 1 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 1 1 1 13+ , SrcSpan "tests/examples/ArrowBrackets.hs" 1 21 1 24+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 1 14 1 20+ , srcInfoPoints = []+ }+ "Arrows"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 40+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 5 4 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 5 4 6 ]+ }+ (Proc+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 7 4 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 7 4 11+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 19 4 21+ ]+ }+ (PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 12 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 12 4 13+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 14 4 15+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 17 4 18+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 16 4 17+ , srcInfoPoints = []+ }+ "y")+ ])+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 22 4 40+ , srcInfoPoints = []+ }+ (ArrOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 22 4 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 22 4 24+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 36 4 38+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 25 4 26+ , srcInfoPoints = []+ }+ "f")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 27 4 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 27 4 28+ , SrcSpan "tests/examples/ArrowBrackets.hs" 4 34 4 35+ ]+ }+ (LeftArrApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 4 30 4 32 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ "g")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ "x")))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 39 4 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 39 4 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 4 39 4 40+ , srcInfoPoints = []+ }+ "y"))))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 8 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 1 6 4+ , srcInfoPoints = []+ }+ "bar"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 5 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 5 6 6 ]+ }+ (Proc+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 7 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 7 6 11+ , SrcSpan "tests/examples/ArrowBrackets.hs" 6 19 6 21+ ]+ }+ (PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 12 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 12 6 13+ , SrcSpan "tests/examples/ArrowBrackets.hs" 6 14 6 15+ , SrcSpan "tests/examples/ArrowBrackets.hs" 6 17 6 18+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 16 6 17+ , srcInfoPoints = []+ }+ "y")+ ])+ (Do+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 6 22 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 6 22 6 24+ , SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 3+ , SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 3+ , SrcSpan "tests/examples/ArrowBrackets.hs" 9 1 9 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 5 7 7 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 3 7 4+ , srcInfoPoints = []+ }+ "z"))+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 8 7 26+ , srcInfoPoints = []+ }+ (ArrOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 8 7 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 8 7 10+ , SrcSpan "tests/examples/ArrowBrackets.hs" 7 22 7 24+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 11 7 12+ , srcInfoPoints = []+ }+ "f")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 13 7 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 13 7 14+ , SrcSpan "tests/examples/ArrowBrackets.hs" 7 20 7 21+ ]+ }+ (LeftArrApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 14 7 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 7 16 7 18 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 7 14 7 15+ , srcInfoPoints = []+ }+ "g")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 19 7 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 7 19 7 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 7 19 7 20+ , srcInfoPoints = []+ }+ "x")))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 7 25 7 26+ , srcInfoPoints = []+ }+ "y"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 21+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 21+ , srcInfoPoints = []+ }+ (ArrOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 8 3 8 5+ , SrcSpan "tests/examples/ArrowBrackets.hs" 8 17 8 19+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 6 8 7+ , srcInfoPoints = []+ }+ "f")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 8 8 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 8 8 8 9+ , SrcSpan "tests/examples/ArrowBrackets.hs" 8 15 8 16+ ]+ }+ (LeftArrApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 9 8 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ArrowBrackets.hs" 8 11 8 13 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 8 9 8 10+ , srcInfoPoints = []+ }+ "h")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ArrowBrackets.hs" 8 14 8 15+ , srcInfoPoints = []+ }+ "z")))))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ArrowBrackets.hs" 8 20 8 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 20 8 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ArrowBrackets.hs" 8 20 8 21+ , srcInfoPoints = []+ }+ "y"))))+ ])))+ Nothing+ ]+ , []+ )
+ tests/examples/ArrowBrackets.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ArrowBrackets.hs.prettyprinter.golden view
@@ -0,0 +1,7 @@+{-# LANGUAGE Arrows #-}+module ArrowBrackets where+foo = proc (x, y) -> (| f (g -< x) |) y+bar+ = proc (x, y) ->+ do z <- (| f (g -< x) |) y+ (| f (h -< z) |) y
+ tests/examples/BlockArguments.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE BlockArguments #-}+module BlockArguments where++foo = when (x > 0) do+ print x+ exitFailure++bar = withForeignPtr fptr \ptr -> c_memcpy buf ptr size++baz arg1 arg2 arg3 arg4 = initialValue+ & someFunction arg1 arg2+ >>= traverse \(x, y) -> do+ a <- f x+ b <- g y+ h a b+ >>= anotherFunction arg3 arg4
+ tests/examples/BlockArguments.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/BlockArguments.hs.parser.golden view
@@ -0,0 +1,1099 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 1 1 17 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 1 1 1 1+ , SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 1+ , SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 1+ , SrcSpan "tests/examples/BlockArguments.hs" 4 1 4 1+ , SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 1+ , SrcSpan "tests/examples/BlockArguments.hs" 10 1 10 1+ , SrcSpan "tests/examples/BlockArguments.hs" 17 1 17 1+ , SrcSpan "tests/examples/BlockArguments.hs" 17 1 17 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 2 1 2 7+ , SrcSpan "tests/examples/BlockArguments.hs" 2 23 2 28+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 2 8 2 22+ , srcInfoPoints = []+ }+ "BlockArguments")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 1 1 1 13+ , SrcSpan "tests/examples/BlockArguments.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "BlockArguments"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 1 6 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 1 4 4+ , srcInfoPoints = []+ }+ "foo"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 5 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 4 5 4 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 6 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 4 7 4 11+ , srcInfoPoints = []+ }+ "when")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 12 4 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 4 12 4 13+ , SrcSpan "tests/examples/BlockArguments.hs" 4 18 4 19+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ ">")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 17 4 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 17 4 18+ , srcInfoPoints = []+ }+ 0+ "0")))))+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 4 20 6 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 4 20 4 22+ , SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 3+ , SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 3+ , SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 0+ ]+ }+ [ Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 10+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 10+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 8+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 5 3 5 8+ , srcInfoPoints = []+ }+ "print")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 5 9 5 10+ , srcInfoPoints = []+ }+ "x"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 6 3 6 14+ , srcInfoPoints = []+ }+ "exitFailure")))+ ])))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 56+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 1 8 4+ , srcInfoPoints = []+ }+ "bar"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 5 8 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 8 5 8 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 56+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/BlockArguments.hs" 8 7 8 21+ , srcInfoPoints = []+ }+ "withForeignPtr")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 22 8 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 22 8 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 22 8 26+ , srcInfoPoints = []+ }+ "fptr"))))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 27 8 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 8 27 8 28+ , SrcSpan "tests/examples/BlockArguments.hs" 8 32 8 34+ ]+ }+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 28 8 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 28 8 31+ , srcInfoPoints = []+ }+ "ptr")+ ]+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 56+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 51+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 47+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 35 8 43+ , srcInfoPoints = []+ }+ "c_memcpy")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 44 8 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 44 8 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 44 8 47+ , srcInfoPoints = []+ }+ "buf"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 48 8 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 48 8 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 48 8 51+ , srcInfoPoints = []+ }+ "ptr"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 52 8 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 52 8 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 8 52 8 56+ , srcInfoPoints = []+ }+ "size")))))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 1 16 32+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 1 16 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 1 10 4+ , srcInfoPoints = []+ }+ "baz")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 5 10 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 5 10 9+ , srcInfoPoints = []+ }+ "arg1")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 10 10 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 10 10 14+ , srcInfoPoints = []+ }+ "arg2")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 15 10 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 15 10 19+ , srcInfoPoints = []+ }+ "arg3")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 20 10 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 20 10 24+ , srcInfoPoints = []+ }+ "arg4")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 25 16 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 10 25 10 26 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 16 32+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 11 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 10 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 10 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 10 27 10 39+ , srcInfoPoints = []+ }+ "initialValue")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 3 11 4+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 3 11 4+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 3 11 4+ , srcInfoPoints = []+ }+ "&")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 29+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 7 11 19+ , srcInfoPoints = []+ }+ "someFunction")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 20 11 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 20 11 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 20 11 24+ , srcInfoPoints = []+ }+ "arg1"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 25 11 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 25 11 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 11 25 11 29+ , srcInfoPoints = []+ }+ "arg2")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 3 12 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 3 12 6+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 3 12 6+ , srcInfoPoints = []+ }+ ">>=")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 7 16 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 7 12 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 7 12 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 7 12 15+ , srcInfoPoints = []+ }+ "traverse")))+ (Lambda+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 16 16 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 12 16 12 17+ , SrcSpan "tests/examples/BlockArguments.hs" 12 24 12 26+ ]+ }+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 17 12 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 12 17 12 18+ , SrcSpan "tests/examples/BlockArguments.hs" 12 19 12 20+ , SrcSpan "tests/examples/BlockArguments.hs" 12 22 12 23+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 18 12 19+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 21 12 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 21 12 22+ , srcInfoPoints = []+ }+ "y")+ ]+ ]+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 27 16 32+ , srcInfoPoints = []+ }+ (Do+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 12 27 15 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 12 27 12 29+ , SrcSpan "tests/examples/BlockArguments.hs" 13 9 13 9+ , SrcSpan "tests/examples/BlockArguments.hs" 14 9 14 9+ , SrcSpan "tests/examples/BlockArguments.hs" 15 9 15 9+ , SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 0+ ]+ }+ [ Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 13 9 13 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 13 11 13 13 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 13 9 13 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 9 13 10+ , srcInfoPoints = []+ }+ "a"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 13 14 13 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 14 13 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 13+ 14+ 13+ 15+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 13 16 13 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 13+ 16+ 13+ 17+ , srcInfoPoints = []+ }+ "x"))))+ , Generator+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 14 9 14 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BlockArguments.hs" 14 11 14 13 ]+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 14 9 14 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 9 14 10+ , srcInfoPoints = []+ }+ "b"))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 14 14 14 17+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 14 14 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 14 14 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 14+ 14+ 14+ 15+ , srcInfoPoints = []+ }+ "g")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 16 14 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 14 16 14 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 14+ 16+ 14+ 17+ , srcInfoPoints = []+ }+ "y"))))+ , Qualifier+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 15 9 15 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 15 9 15 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 9 15 12+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 9 15 10+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 9+ 15+ 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 9+ 15+ 10+ , srcInfoPoints = []+ }+ "h")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 11 15 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 11+ 15+ 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 11+ 15+ 12+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 13 15 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 15 13 15 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs"+ 15+ 13+ 15+ 14+ , srcInfoPoints = []+ }+ "b"))))+ ])+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 6+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 3 16 6+ , srcInfoPoints = []+ }+ ">>=")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 7 16 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 16 7 16 22+ , srcInfoPoints = []+ }+ "anotherFunction")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 23 16 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 16 23 16 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 16 23 16 27+ , srcInfoPoints = []+ }+ "arg3"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 28 16 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BlockArguments.hs" 16 28 16 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/BlockArguments.hs" 16 28 16 32+ , srcInfoPoints = []+ }+ "arg4")))))))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/BlockArguments.hs.prettyparser.golden view
@@ -0,0 +1,10 @@+Roundtrip test failed++AST 1:++Module () (Just (ModuleHead () (ModuleName () "BlockArguments") Nothing Nothing)) [LanguagePragma () [Ident () "BlockArguments"]] [] [PatBind () (PVar () (Ident () "foo")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "x"))) (QVarOp () (UnQual () (Symbol () ">"))) (Lit () (Int () 0 "0"))))) (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (Var () (UnQual () (Ident () "x")))),Qualifier () (Var () (UnQual () (Ident () "exitFailure")))]))) Nothing,PatBind () (PVar () (Ident () "bar")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fptr")))) (Lambda () [PVar () (Ident () "ptr")] (App () (App () (App () (Var () (UnQual () (Ident () "c_memcpy"))) (Var () (UnQual () (Ident () "buf")))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "size"))))))) Nothing,FunBind () [Match () (Ident () "baz") [PVar () (Ident () "arg1"),PVar () (Ident () "arg2"),PVar () (Ident () "arg3"),PVar () (Ident () "arg4")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "initialValue"))) (QVarOp () (UnQual () (Symbol () "&"))) (App () (App () (Var () (UnQual () (Ident () "someFunction"))) (Var () (UnQual () (Ident () "arg1")))) (Var () (UnQual () (Ident () "arg2"))))) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (Var () (UnQual () (Ident () "traverse"))) (Lambda () [PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "y")]] (InfixApp () (Do () [Generator () (PVar () (Ident () "a")) (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "x")))),Generator () (PVar () (Ident () "b")) (App () (Var () (UnQual () (Ident () "g"))) (Var () (UnQual () (Ident () "y")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "h"))) (Var () (UnQual () (Ident () "a")))) (Var () (UnQual () (Ident () "b"))))]) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (App () (Var () (UnQual () (Ident () "anotherFunction"))) (Var () (UnQual () (Ident () "arg3")))) (Var () (UnQual () (Ident () "arg4"))))))))) Nothing]]++AST 2:++Module () (Just (ModuleHead () (ModuleName () "BlockArguments") Nothing Nothing)) [LanguagePragma () [Ident () "BlockArguments"]] [] [PatBind () (PVar () (Ident () "foo")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "x"))) (QVarOp () (UnQual () (Symbol () ">"))) (Lit () (Int () 0 "0"))))) (Paren () (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (Var () (UnQual () (Ident () "x")))),Qualifier () (Var () (UnQual () (Ident () "exitFailure")))])))) Nothing,PatBind () (PVar () (Ident () "bar")) (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fptr")))) (Paren () (Lambda () [PVar () (Ident () "ptr")] (App () (App () (App () (Var () (UnQual () (Ident () "c_memcpy"))) (Var () (UnQual () (Ident () "buf")))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "size")))))))) Nothing,FunBind () [Match () (Ident () "baz") [PVar () (Ident () "arg1"),PVar () (Ident () "arg2"),PVar () (Ident () "arg3"),PVar () (Ident () "arg4")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "initialValue"))) (QVarOp () (UnQual () (Symbol () "&"))) (App () (App () (Var () (UnQual () (Ident () "someFunction"))) (Var () (UnQual () (Ident () "arg1")))) (Var () (UnQual () (Ident () "arg2"))))) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (Var () (UnQual () (Ident () "traverse"))) (Paren () (Lambda () [PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "y")]] (InfixApp () (Do () [Generator () (PVar () (Ident () "a")) (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "x")))),Generator () (PVar () (Ident () "b")) (App () (Var () (UnQual () (Ident () "g"))) (Var () (UnQual () (Ident () "y")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "h"))) (Var () (UnQual () (Ident () "a")))) (Var () (UnQual () (Ident () "b"))))]) (QVarOp () (UnQual () (Symbol () ">>="))) (App () (App () (Var () (UnQual () (Ident () "anotherFunction"))) (Var () (UnQual () (Ident () "arg3")))) (Var () (UnQual () (Ident () "arg4")))))))))) Nothing]]+
+ tests/examples/BlockArguments.hs.prettyprinter.golden view
@@ -0,0 +1,15 @@+{-# LANGUAGE BlockArguments #-}+module BlockArguments where+foo+ = when (x > 0)+ (do print x+ exitFailure)+bar = withForeignPtr fptr (\ ptr -> c_memcpy buf ptr size)+baz arg1 arg2 arg3 arg4+ = initialValue & someFunction arg1 arg2 >>=+ traverse+ (\ (x, y) ->+ do a <- f x+ b <- g y+ h a b+ >>= anotherFunction arg3 arg4)
tests/examples/BracketInstanceHead.hs.parser.golden view
@@ -51,40 +51,53 @@ , srcInfoPoints = [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23 , srcInfoPoints = [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18- , srcInfoPoints = []+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 21 1 23 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 11 1 18+ , srcInfoPoints = []+ }+ "Bounded")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20 , srcInfoPoints = [] }- "Bounded"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/BracketInstanceHead.hs" 1 19 1 20+ , srcInfoPoints = []+ }+ "a")))))) (IHApp SrcSpanInfo { srcInfoSpan =
tests/examples/ClassContext.hs.parser.golden view
@@ -40,67 +40,80 @@ , srcInfoPoints = [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20 , srcInfoPoints = [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 18 1 20 ] }- "Ord"))- [ TyParen- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 10 1 17- , srcInfoPoints =- [ SrcSpan "tests/examples/ClassContext.hs" 1 10 1 11- , SrcSpan "tests/examples/ClassContext.hs" 1 16 1 17- ]- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 16- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12- , srcInfoPoints = []- }- "i"))- (TyCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16- , srcInfoPoints = []- }- "Int"))))- ])))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 6 1 9+ , srcInfoPoints = []+ }+ "Ord")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 10 1 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ClassContext.hs" 1 10 1 11+ , SrcSpan "tests/examples/ClassContext.hs" 1 16 1 17+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 11 1 16+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 11 1 12+ , srcInfoPoints = []+ }+ "i"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ClassContext.hs" 1 13 1 16+ , srcInfoPoints = []+ }+ "Int"))))))))) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ClassContext.hs" 1 21 1 35
tests/examples/ConstraintKinds.hs.parser.golden view
@@ -342,53 +342,73 @@ , srcInfoPoints = [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22 , srcInfoPoints = [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15- , srcInfoPoints = []+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ] }- (Ident+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds.hs" 9 20 9 22 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 8 9 15+ , srcInfoPoints = []+ }+ "Bazable")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19 , srcInfoPoints = [] }- "Bazable"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds.hs" 9 16 9 17- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19- , srcInfoPoints = []- }- "b")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds.hs" 9 18 9 19+ , srcInfoPoints = []+ }+ "b")))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/ConstraintKinds2.hs.parser.golden view
@@ -133,6 +133,8 @@ } "Dict") Nothing+ Nothing+ Nothing (TyForall SrcSpanInfo { srcInfoSpan =@@ -148,21 +150,27 @@ , srcInfoPoints = [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ] }- (AppA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17 , srcInfoPoints = [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 14- , srcInfoPoints = []+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ] }- "p")- [])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ "p"))))) (TyApp SrcSpanInfo { srcInfoSpan =
tests/examples/ConstraintKinds3.hs.parser.golden view
@@ -165,34 +165,48 @@ , SrcSpan "tests/examples/ConstraintKinds3.hs" 6 16 6 18 ] }- (AppA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 14 , srcInfoPoints = [] }- (Ident+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 12+ SrcSpan "tests/examples/ConstraintKinds3.hs" 6 11 6 14 , srcInfoPoints = [] }- "c")- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstraintKinds3.hs" 6 13 6 14- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan- "tests/examples/ConstraintKinds3.hs" 6 13 6 14- , srcInfoPoints = []- }- "a")- ]))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstraintKinds3.hs" 6 11 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstraintKinds3.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ "c"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstraintKinds3.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstraintKinds3.hs" 6 13 6 14+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/ConstructorAndClassOperators.hs.parser.golden view
@@ -76,7 +76,7 @@ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20@@ -85,53 +85,97 @@ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 13+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20 , srcInfoPoints =- [ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 9- , SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 9 3 12- , SrcSpan- "tests/examples/ConstructorAndClassOperators.hs" 3 12 3 13+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20 ] }- (Symbol+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 9 3 12+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 20+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 18 3 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 13+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 8 3 9+ , SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs"+ 3+ 9+ 3+ 12+ , SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs"+ 3+ 12+ 3+ 13+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs"+ 3+ 9+ 3+ 12+ , srcInfoPoints = []+ }+ ":=>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17 , srcInfoPoints = [] }- ":=>"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan- "tests/examples/ConstructorAndClassOperators.hs" 3 14 3 15- , srcInfoPoints = []- }- "b")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan- "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17- , srcInfoPoints = []- }- "h")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/ConstructorAndClassOperators.hs" 3 16 3 17+ , srcInfoPoints = []+ }+ "h")))))) (TyInfix SrcSpanInfo { srcInfoSpan =
tests/examples/ContextOrdering.hs.parser.golden view
@@ -92,46 +92,63 @@ , SrcSpan "tests/examples/ContextOrdering.hs" 4 16 4 18 ] }- (AppA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14 , srcInfoPoints = [] }- (Ident+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 10+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14 , srcInfoPoints = [] }- "x")- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12- , srcInfoPoints = []- }- "m")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14- , srcInfoPoints = []- }- "a")- ]))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 9 4 10+ , srcInfoPoints = []+ }+ "x"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 11 4 12+ , srcInfoPoints = []+ }+ "m")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ContextOrdering.hs" 4 13 4 14+ , srcInfoPoints = []+ }+ "a"))))))) (TyCon SrcSpanInfo { srcInfoSpan =
tests/examples/CxtWhitespace.hs.parser.golden view
@@ -46,35 +46,46 @@ , SrcSpan "tests/examples/CxtWhitespace.hs" 2 18 2 20 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 16 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16- , srcInfoPoints = []- }- "h")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 2 12 2 14+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ "h"))))))) (IHApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 2 21 2 25@@ -132,62 +143,86 @@ , SrcSpan "tests/examples/CxtWhitespace.hs" 5 24 5 26 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 16 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16- , srcInfoPoints = []- }- "h")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 12 5 14+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 15 5 16+ , srcInfoPoints = []+ }+ "h")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 22 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22- , srcInfoPoints = []- }- "h")- ]+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 18 5 20+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/CxtWhitespace.hs" 5 21 5 22+ , srcInfoPoints = []+ }+ "h"))) ])) (IHApp SrcSpanInfo
tests/examples/DataKinds.hs.parser.golden view
@@ -118,7 +118,7 @@ , srcInfoPoints = [] } "a")- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 5 16 5 20 , srcInfoPoints = []@@ -240,7 +240,7 @@ , srcInfoPoints = [] } "a")- (KindList+ (TyList SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 16 8 21 , srcInfoPoints =@@ -248,7 +248,7 @@ , SrcSpan "tests/examples/DataKinds.hs" 8 20 8 21 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 8 18 8 19 , srcInfoPoints = []@@ -381,7 +381,7 @@ , srcInfoPoints = [] } "a")- (KindList+ (TyList SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 16 13 28 , srcInfoPoints =@@ -389,7 +389,7 @@ , SrcSpan "tests/examples/DataKinds.hs" 13 27 13 28 ] }- (KindTuple+ (TyTuple SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 17 13 27 , srcInfoPoints =@@ -398,7 +398,8 @@ , SrcSpan "tests/examples/DataKinds.hs" 13 26 13 27 ] }- [ KindVar+ Boxed+ [ TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 18 13 21 , srcInfoPoints = []@@ -414,7 +415,7 @@ , srcInfoPoints = [] } "Baz"))- , KindVar+ , TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 13 23 13 26 , srcInfoPoints = []@@ -471,7 +472,7 @@ , srcInfoPoints = [] } "a")- (KindParen+ (TyParen SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 16 15 21 , srcInfoPoints =@@ -479,7 +480,7 @@ , SrcSpan "tests/examples/DataKinds.hs" 15 20 15 21 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 15 18 15 19 , srcInfoPoints = []@@ -524,17 +525,17 @@ , srcInfoPoints = [] } "a")- (KindApp+ (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 27 , srcInfoPoints = [] }- (KindApp+ (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 23 , srcInfoPoints = [] }- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 16 18 19 , srcInfoPoints = []@@ -550,38 +551,28 @@ , srcInfoPoints = [] } "App")))- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 20 18 23 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 20 18 23 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 20 18 23- , srcInfoPoints = []- }- "foo"))))- (KindVar+ "foo")))+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 24 18 27 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 24 18 27 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 18 24 18 27- , srcInfoPoints = []- }- "baz"))))))+ "baz"))))) [] Nothing , ClassDecl@@ -622,7 +613,7 @@ , srcInfoPoints = [] } "a")- (KindParen+ (TyParen SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 16 20 24 , srcInfoPoints =@@ -630,22 +621,17 @@ , SrcSpan "tests/examples/DataKinds.hs" 20 23 20 24 ] }- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 17 20 23 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 17 20 23 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 20 17 20 23- , srcInfoPoints = []- }- "parens"))))))+ "parens"))))) [] Nothing , DataDecl@@ -690,7 +676,7 @@ , srcInfoPoints = [] } "a")- (KindList+ (TyList SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 14 22 17 , srcInfoPoints =@@ -698,7 +684,7 @@ , SrcSpan "tests/examples/DataKinds.hs" 22 16 22 17 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 22 15 22 16 , srcInfoPoints = []@@ -968,7 +954,7 @@ , srcInfoPoints = [] } "a")- (KindTuple+ (TyTuple SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 14 27 23 , srcInfoPoints =@@ -977,12 +963,13 @@ , SrcSpan "tests/examples/DataKinds.hs" 27 22 27 23 ] }- [ KindStar+ Boxed+ [ TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 15 27 16 , srcInfoPoints = [] }- , KindVar+ , TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DataKinds.hs" 27 18 27 22 , srcInfoPoints = []
tests/examples/DefaultSignatures.hs.parser.golden view
@@ -205,39 +205,53 @@ , SrcSpan "tests/examples/DefaultSignatures.hs" 4 25 4 27 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 21+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 21+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 19 4 23 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DefaultSignatures.hs" 4 19 4 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DefaultSignatures.hs" 4 19 4 21+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DefaultSignatures.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DefaultSignatures.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/DerivingStrategies.hs.parser.golden view
@@ -477,40 +477,53 @@ , srcInfoPoints = [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34 , srcInfoPoints = [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29- , srcInfoPoints = []+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 16 32 16 34 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 25 16 29+ , srcInfoPoints = []+ }+ "Read")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31 , srcInfoPoints = [] }- "Read"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 16 30 16 31+ , srcInfoPoints = []+ }+ "a")))))) (IHApp SrcSpanInfo { srcInfoSpan =@@ -615,40 +628,53 @@ , srcInfoPoints = [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35 , srcInfoPoints = [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30- , srcInfoPoints = []+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingStrategies.hs" 17 33 17 35 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 27 17 30+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32 , srcInfoPoints = [] }- "Num"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingStrategies.hs" 17 31 17 32+ , srcInfoPoints = []+ }+ "a")))))) (IHApp SrcSpanInfo { srcInfoSpan =
+ tests/examples/DerivingVia.hs view
@@ -0,0 +1,459 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeInType #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}+module DerivingVia where++import Data.Void+import Data.Complex+import Data.Functor.Const+import Data.Functor.Identity+import Data.Ratio+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer+import Control.Applicative hiding (WrappedMonad(..))++import Data.Bifunctor+import Data.Monoid+import Data.Kind++type f ~> g = forall xx. f xx -> g xx++-----+-- Simple example+-----++data Foo a = MkFoo a a+ deriving Show+ via (Identity (Foo a))++-----+-- Eta reduction at work+-----++newtype Flip p a b = Flip { runFlip :: p b a }++instance Bifunctor p => Bifunctor (Flip p) where+ bimap f g = Flip . bimap g f . runFlip++instance Bifunctor p => Functor (Flip p a) where+ fmap f = Flip . first f . runFlip++newtype Bar a = MkBar (Either a Int)+ deriving Functor+ via (Flip Either Int)++-----+-- Monad transformers+-----++type MTrans = (Type -> Type) -> (Type -> Type)++-- From `constraints'+data Dict c where+ Dict :: c => Dict c++newtype a :- b = Sub (a => Dict b)++infixl 1 \\+(\\) :: a => (b => r) -> (a :- b) -> r+r \\ Sub Dict = r++-- With `-XQuantifiedConstraints' this just becomes+--+-- type Lifting cls trans = forall mm. cls mm => cls (trans mm)+--+-- type LiftingMonad trans = Lifting Monad trans+--+class LiftingMonad (trans :: MTrans) where+ proof :: Monad m :- Monad (trans m)++instance LiftingMonad (StateT s :: MTrans) where+ proof :: Monad m :- Monad (StateT s m)+ proof = Sub Dict++instance Monoid w => LiftingMonad (WriterT w :: MTrans) where+ proof :: Monad m :- Monad (WriterT w m)+ proof = Sub Dict++instance (LiftingMonad trans, LiftingMonad trans') => LiftingMonad (ComposeT trans trans' :: MTrans) where+ proof :: forall m. Monad m :- Monad (ComposeT trans trans' m)+ proof = Sub (Dict \\ proof @trans @(trans' m) \\ proof @trans' @m)++newtype Stack :: MTrans where+ Stack :: ReaderT Int (StateT Bool (WriterT String m)) a -> Stack m a+ deriving newtype+ ( Functor+ , Applicative+ , Monad+ , MonadReader Int+ , MonadState Bool+ , MonadWriter String+ )+ deriving (MonadTrans, MFunctor)+ via (ReaderT Int `ComposeT` StateT Bool `ComposeT` WriterT String)++class MFunctor (trans :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (trans m ~> trans m')++instance MFunctor (ReaderT r :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (ReaderT r m ~> ReaderT r m')+ hoist nat = ReaderT . fmap nat . runReaderT++instance MFunctor (StateT s :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (StateT s m ~> StateT s m')+ hoist nat = StateT . fmap nat . runStateT++instance MFunctor (WriterT w :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (WriterT w m ~> WriterT w m')+ hoist nat = WriterT . nat . runWriterT++infixr 9 `ComposeT`+newtype ComposeT :: MTrans -> MTrans -> MTrans where+ ComposeT :: { getComposeT :: f (g m) a } -> ComposeT f g m a+ deriving newtype (Functor, Applicative, Monad)++instance (MonadTrans f, MonadTrans g, LiftingMonad g) => MonadTrans (ComposeT f g) where+ lift :: forall m. Monad m => m ~> ComposeT f g m+ lift = ComposeT . lift . lift+ \\ proof @g @m++instance (MFunctor f, MFunctor g, LiftingMonad g) => MFunctor (ComposeT f g) where+ hoist :: forall m m'. Monad m => (m ~> m') -> (ComposeT f g m ~> ComposeT f g m')+ hoist f = ComposeT . hoist (hoist f) . getComposeT+ \\ proof @g @m++-----+-- Using tuples in a `via` type+-----++newtype X a = X (a, a)+ deriving (Semigroup, Monoid)+ via (Product a, Sum a)++ deriving (Show, Eq)+ via (a, a)++-----+-- Abstract data types+-----++class C f where+ c :: f a -> Int++newtype X2 f a = X2 (f a)++instance C (X2 f) where+ c = const 0++deriving via (X2 IO) instance C IO++----+-- Testing parser+----++newtype P0 a = P0 a deriving Show via a+newtype P1 a = P1 [a] deriving Show via [a]+newtype P2 a = P2 (a, a) deriving Show via (a, a)+newtype P3 a = P3 (Maybe a) deriving Show via (First a)+newtype P4 a = P4 (Maybe a) deriving Show via (First $ a)+newtype P5 a = P5 a deriving Show via (Identity $ a)+newtype P6 a = P6 [a] deriving Show via ([] $ a)+newtype P7 a = P7 (a, a) deriving Show via (Identity $ (a, a))+newtype P8 a = P8 (Either () a) deriving Functor via (($) (Either ()))++newtype f $ a = APP (f a) deriving newtype Show deriving newtype Functor++----+-- From Baldur's notes+----++----+-- 1+----+newtype WrapApplicative f a = WrappedApplicative (f a)+ deriving (Functor, Applicative)++instance (Applicative f, Num a) => Num (WrapApplicative f a) where+ (+) = liftA2 (+)+ (*) = liftA2 (*)+ negate = fmap negate+ fromInteger = pure . fromInteger+ abs = fmap abs+ signum = fmap signum++instance (Applicative f, Fractional a) => Fractional (WrapApplicative f a) where+ recip = fmap recip+ fromRational = pure . fromRational++instance (Applicative f, Floating a) => Floating (WrapApplicative f a) where+ pi = pure pi+ sqrt = fmap sqrt+ exp = fmap exp+ log = fmap log+ sin = fmap sin+ cos = fmap cos+ asin = fmap asin+ atan = fmap atan+ acos = fmap acos+ sinh = fmap sinh+ cosh = fmap cosh+ asinh = fmap asinh+ atanh = fmap atanh+ acosh = fmap acosh++instance (Applicative f, Semigroup s) => Semigroup (WrapApplicative f s) where+ (<>) = liftA2 (<>)++instance (Applicative f, Monoid m) => Monoid (WrapApplicative f m) where+ mempty = pure mempty++----+-- 2+----+class Pointed p where+ pointed :: a -> p a++newtype WrapMonad f a = WrappedMonad (f a)+ deriving newtype (Pointed, Monad)++instance (Monad m, Pointed m) => Functor (WrapMonad m) where+ fmap = liftM++instance (Monad m, Pointed m) => Applicative (WrapMonad m) where+ pure = pointed+ (<*>) = ap++-- data+data Sorted a = Sorted a a a+ deriving (Functor, Applicative)+ via (WrapMonad Sorted)+ deriving (Num, Fractional, Floating, Semigroup, Monoid)+ via (WrapApplicative Sorted a)+++instance Monad Sorted where+ (>>=) :: Sorted a -> (a -> Sorted b) -> Sorted b+ Sorted a b c >>= f = Sorted a' b' c' where+ Sorted a' _ _ = f a+ Sorted _ b' _ = f b+ Sorted _ _ c' = f c++instance Pointed Sorted where+ pointed :: a -> Sorted a+ pointed a = Sorted a a a++----+-- 3+----+class IsZero a where+ isZero :: a -> Bool++newtype WrappedNumEq a = WrappedNumEq a+newtype WrappedShow a = WrappedShow a+newtype WrappedNumEq2 a = WrappedNumEq2 a++instance (Num a, Eq a) => IsZero (WrappedNumEq a) where+ isZero :: WrappedNumEq a -> Bool+ isZero (WrappedNumEq a) = 0 == a++instance Show a => IsZero (WrappedShow a) where+ isZero :: WrappedShow a -> Bool+ isZero (WrappedShow a) = "0" == show a++instance (Num a, Eq a) => IsZero (WrappedNumEq2 a) where+ isZero :: WrappedNumEq2 a -> Bool+ isZero (WrappedNumEq2 a) = a + a == a++newtype INT = INT Int+ deriving newtype Show+ deriving IsZero via (WrappedNumEq Int)++newtype VOID = VOID Void deriving IsZero via (WrappedShow Void)++----+-- 4+----+class Bifunctor p => Biapplicative p where+ bipure :: a -> b -> p a b++ biliftA2+ :: (a -> b -> c)+ -> (a' -> b' -> c')+ -> p a a'+ -> p b b'+ -> p c c'++instance Biapplicative (,) where+ bipure = (,)++ biliftA2 f f' (a, a') (b, b') =+ (f a b, f' a' b')++newtype WrapBiapp p a b = WrapBiap (p a b)+ deriving newtype (Bifunctor, Biapplicative, Eq)++instance (Biapplicative p, Num a, Num b) => Num (WrapBiapp p a b) where+ (+) = biliftA2 (+) (+)+ (-) = biliftA2 (*) (*)+ (*) = biliftA2 (*) (*)+ negate = bimap negate negate+ abs = bimap abs abs+ signum = bimap signum signum+ fromInteger n = fromInteger n `bipure` fromInteger n++newtype INT2 = INT2 (Int, Int)+ deriving IsZero via (WrappedNumEq2 (WrapBiapp (,) Int Int))++----+-- 5+----+class Monoid a => MonoidNull a where+ null :: a -> Bool++newtype WrpMonNull a = WRM a deriving (Eq, Semigroup, Monoid)++instance (Eq a, Monoid a) => MonoidNull (WrpMonNull a) where+ null :: WrpMonNull a -> Bool+ null = (== mempty)++deriving via (WrpMonNull Any) instance MonoidNull Any+deriving via () instance MonoidNull ()+deriving via Ordering instance MonoidNull Ordering++----+-- 6+----+-- https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635++class Lattice a where+ sup :: a -> a -> a+ (.>=) :: a -> a -> Bool+ (.>) :: a -> a -> Bool++newtype WrapOrd a = WrappedOrd a+ deriving newtype (Eq, Ord)++instance Ord a => Lattice (WrapOrd a) where+ sup = max+ (.>=) = (>=)+ (.>) = (>)++deriving via [a] instance Ord a => Lattice [a]+deriving via (a, b) instance (Ord a, Ord b) => Lattice (a, b)+--mkLattice_(Bool)+deriving via Bool instance Lattice Bool+--mkLattice_(Char)+deriving via Char instance Lattice Char+--mkLattice_(Int)+deriving via Int instance Lattice Int+--mkLattice_(Integer)+deriving via Integer instance Lattice Integer+--mkLattice_(Float)+deriving via Float instance Lattice Float+--mkLattice_(Double)+deriving via Double instance Lattice Double+--mkLattice_(Rational)+deriving via Rational instance Lattice Rational++----+-- 7+----+-- https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html++class Functor f => Additive f where+ zero :: Num a => f a+ (^+^) :: Num a => f a -> f a -> f a+ (^+^) = liftU2 (+)+ (^-^) :: Num a => f a -> f a -> f a+ x ^-^ y = x ^+^ fmap negate y+ liftU2 :: (a -> a -> a) -> f a -> f a -> f a++instance Additive [] where+ zero = []+ liftU2 f = go where+ go (x:xs) (y:ys) = f x y : go xs ys+ go [] ys = ys+ go xs [] = xs++instance Additive Maybe where+ zero = Nothing+ liftU2 f (Just a) (Just b) = Just (f a b)+ liftU2 _ Nothing ys = ys+ liftU2 _ xs Nothing = xs++instance Applicative f => Additive (WrapApplicative f) where+ zero = pure 0+ liftU2 = liftA2++deriving via (WrapApplicative ((->) a)) instance Additive ((->) a)+deriving via (WrapApplicative Complex) instance Additive Complex+deriving via (WrapApplicative Identity) instance Additive Identity++instance Additive ZipList where+ zero = ZipList []+ liftU2 f (ZipList xs) (ZipList ys) = ZipList (liftU2 f xs ys)++class Additive (Diff p) => Affine p where+ type Diff p :: Type -> Type++ (.-.) :: Num a => p a -> p a -> Diff p a+ (.+^) :: Num a => p a -> Diff p a -> p a+ (.-^) :: Num a => p a -> Diff p a -> p a+ p .-^ v = p .+^ fmap negate v++-- #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \+-- (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \+-- (.-^) = (^-^) ; {-# INLINE (.-^) #-}+-- #define ADDITIVE(T) ADDITIVEC((), T)+newtype WrapAdditive f a = WrappedAdditive (f a)++instance Additive f => Affine (WrapAdditive f) where+ type Diff (WrapAdditive f) = f++ WrappedAdditive a .-. WrappedAdditive b = a ^-^ b+ WrappedAdditive a .+^ b = WrappedAdditive (a ^+^ b)+ WrappedAdditive a .-^ b = WrappedAdditive (a ^-^ b)++-- ADDITIVE(((->) a))+deriving via (WrapAdditive ((->) a)) instance Affine ((->) a)+-- ADDITIVE([])+deriving via (WrapAdditive []) instance Affine []+-- ADDITIVE(Complex)+deriving via (WrapAdditive Complex) instance Affine Complex+-- ADDITIVE(Maybe)+deriving via (WrapAdditive Maybe) instance Affine Maybe+-- ADDITIVE(ZipList)+deriving via (WrapAdditive ZipList) instance Affine ZipList+-- ADDITIVE(Identity)+deriving via (WrapAdditive Identity) instance Affine Identity++----+-- 8+----++class C2 a b c where+ c2 :: a -> b -> c++instance C2 a b (Const a b) where+ c2 x _ = Const x++newtype Fweemp a = Fweemp a+ deriving (C2 a b)+ via (Const a (b :: Type))
+ tests/examples/DerivingVia.hs.exactprinter.golden view
@@ -0,0 +1,460 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeInType #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}+module DerivingVia where++import Data.Void+import Data.Complex+import Data.Functor.Const+import Data.Functor.Identity+import Data.Ratio+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer+import Control.Applicative hiding (WrappedMonad(..))++import Data.Bifunctor+import Data.Monoid+import Data.Kind++type f ~> g = forall xx. f xx -> g xx++-----+-- Simple example+-----++data Foo a = MkFoo a a+ deriving+ via( Identity (Foo a))Show++-----+-- Eta reduction at work+-----++newtype Flip p a b = Flip { runFlip :: p b a }++instance Bifunctor p => Bifunctor (Flip p) where+ bimap f g = Flip . bimap g f . runFlip++instance Bifunctor p => Functor (Flip p a) where+ fmap f = Flip . first f . runFlip++newtype Bar a = MkBar (Either a Int)+ deriving+ via( Flip Either Int)Functor++-----+-- Monad transformers+-----++type MTrans = (Type -> Type) -> (Type -> Type)++-- From `constraints'+data Dict c where+ Dict :: c => Dict c++newtype a :- b = Sub (a => Dict b)++infixl 1 \\+(\\) :: a => (b => r) -> (a :- b) -> r+r \\ Sub Dict = r++-- With `-XQuantifiedConstraints' this just becomes+--+-- type Lifting cls trans = forall mm. cls mm => cls (trans mm)+--+-- type LiftingMonad trans = Lifting Monad trans+--+class LiftingMonad (trans :: MTrans) where+ proof :: Monad m :- Monad (trans m)++instance LiftingMonad (StateT s :: MTrans) where+ proof :: Monad m :- Monad (StateT s m)+ proof = Sub Dict++instance Monoid w => LiftingMonad (WriterT w :: MTrans) where+ proof :: Monad m :- Monad (WriterT w m)+ proof = Sub Dict++instance (LiftingMonad trans, LiftingMonad trans') => LiftingMonad (ComposeT trans trans' :: MTrans) where+ proof :: forall m. Monad m :- Monad (ComposeT trans trans' m)+ proof = Sub (Dict \\ proof @trans @(trans' m) \\ proof @trans' @m)++newtype Stack :: MTrans where+ Stack :: ReaderT Int (StateT Bool (WriterT String m)) a -> Stack m a+ deriving newtype+ ( Functor+ , Applicative+ , Monad+ , MonadReader Int+ , MonadState Bool+ , MonadWriter String+ )+ deriving+ via( ReaderT Int `ComposeT` StateT Bool `ComposeT` WriterT String)(MonadTrans,MFunctor)++class MFunctor (trans :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (trans m ~> trans m')++instance MFunctor (ReaderT r :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (ReaderT r m ~> ReaderT r m')+ hoist nat = ReaderT . fmap nat . runReaderT++instance MFunctor (StateT s :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (StateT s m ~> StateT s m')+ hoist nat = StateT . fmap nat . runStateT++instance MFunctor (WriterT w :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (WriterT w m ~> WriterT w m')+ hoist nat = WriterT . nat . runWriterT++infixr 9 `ComposeT`+newtype ComposeT :: MTrans -> MTrans -> MTrans where+ ComposeT :: { getComposeT :: f (g m) a } -> ComposeT f g m a+ deriving newtype (Functor, Applicative, Monad)++instance (MonadTrans f, MonadTrans g, LiftingMonad g) => MonadTrans (ComposeT f g) where+ lift :: forall m. Monad m => m ~> ComposeT f g m+ lift = ComposeT . lift . lift+ \\ proof @g @m++instance (MFunctor f, MFunctor g, LiftingMonad g) => MFunctor (ComposeT f g) where+ hoist :: forall m m'. Monad m => (m ~> m') -> (ComposeT f g m ~> ComposeT f g m')+ hoist f = ComposeT . hoist (hoist f) . getComposeT+ \\ proof @g @m++-----+-- Using tuples in a `via` type+-----++newtype X a = X (a, a)+ deriving+ via (Product a, Sum a)(Semigroup,Monoid)++ deriving+ via (a, a)(Show,Eq)++-----+-- Abstract data types+-----++class C f where+ c :: f a -> Int++newtype X2 f a = X2 (f a)++instance C (X2 f) where+ c = const 0++deriving via( X2 IO) instance C IO++----+-- Testing parser+----++newtype P0 a = P0 a deriving viaaShow+newtype P1 a = P1 [a] deriving via[ a]Show+newtype P2 a = P2 (a, a) deriving via (a, a)Show+newtype P3 a = P3 (Maybe a) deriving via( First a)Show+newtype P4 a = P4 (Maybe a) deriving via( First $ a)Show+newtype P5 a = P5 a deriving via( Identity $ a)Show+newtype P6 a = P6 [a] deriving via( [] $ a)Show+newtype P7 a = P7 (a, a) deriving via( Identity $ (a, a))Show+newtype P8 a = P8 (Either () a) deriving via( ($) (Either ()))Functor++newtype f $ a = APP (f a) deriving newtype Show deriving newtype Functor++----+-- From Baldur's notes+----++----+-- 1+----+newtype WrapApplicative f a = WrappedApplicative (f a)+ deriving (Functor, Applicative)++instance (Applicative f, Num a) => Num (WrapApplicative f a) where+ (+) = liftA2 (+)+ (*) = liftA2 (*)+ negate = fmap negate+ fromInteger = pure . fromInteger+ abs = fmap abs+ signum = fmap signum++instance (Applicative f, Fractional a) => Fractional (WrapApplicative f a) where+ recip = fmap recip+ fromRational = pure . fromRational++instance (Applicative f, Floating a) => Floating (WrapApplicative f a) where+ pi = pure pi+ sqrt = fmap sqrt+ exp = fmap exp+ log = fmap log+ sin = fmap sin+ cos = fmap cos+ asin = fmap asin+ atan = fmap atan+ acos = fmap acos+ sinh = fmap sinh+ cosh = fmap cosh+ asinh = fmap asinh+ atanh = fmap atanh+ acosh = fmap acosh++instance (Applicative f, Semigroup s) => Semigroup (WrapApplicative f s) where+ (<>) = liftA2 (<>)++instance (Applicative f, Monoid m) => Monoid (WrapApplicative f m) where+ mempty = pure mempty++----+-- 2+----+class Pointed p where+ pointed :: a -> p a++newtype WrapMonad f a = WrappedMonad (f a)+ deriving newtype (Pointed, Monad)++instance (Monad m, Pointed m) => Functor (WrapMonad m) where+ fmap = liftM++instance (Monad m, Pointed m) => Applicative (WrapMonad m) where+ pure = pointed+ (<*>) = ap++-- data+data Sorted a = Sorted a a a+ deriving+ via( WrapMonad Sorted)(Functor,Applicative)+ deriving+ via( WrapApplicative Sorted a)(Num,Fractional,Floating,Semigroup,Monoid)+++instance Monad Sorted where+ (>>=) :: Sorted a -> (a -> Sorted b) -> Sorted b+ Sorted a b c >>= f = Sorted a' b' c' where+ Sorted a' _ _ = f a+ Sorted _ b' _ = f b+ Sorted _ _ c' = f c++instance Pointed Sorted where+ pointed :: a -> Sorted a+ pointed a = Sorted a a a++----+-- 3+----+class IsZero a where+ isZero :: a -> Bool++newtype WrappedNumEq a = WrappedNumEq a+newtype WrappedShow a = WrappedShow a+newtype WrappedNumEq2 a = WrappedNumEq2 a++instance (Num a, Eq a) => IsZero (WrappedNumEq a) where+ isZero :: WrappedNumEq a -> Bool+ isZero (WrappedNumEq a) = 0 == a++instance Show a => IsZero (WrappedShow a) where+ isZero :: WrappedShow a -> Bool+ isZero (WrappedShow a) = "0" == show a++instance (Num a, Eq a) => IsZero (WrappedNumEq2 a) where+ isZero :: WrappedNumEq2 a -> Bool+ isZero (WrappedNumEq2 a) = a + a == a++newtype INT = INT Int+ deriving newtype Show+ deriving via( WrappedNumEq Int)IsZero++newtype VOID = VOID Void deriving via( WrappedShow Void)IsZero++----+-- 4+----+class Bifunctor p => Biapplicative p where+ bipure :: a -> b -> p a b++ biliftA2+ :: (a -> b -> c)+ -> (a' -> b' -> c')+ -> p a a'+ -> p b b'+ -> p c c'++instance Biapplicative (,) where+ bipure = (,)++ biliftA2 f f' (a, a') (b, b') =+ (f a b, f' a' b')++newtype WrapBiapp p a b = WrapBiap (p a b)+ deriving newtype (Bifunctor, Biapplicative, Eq)++instance (Biapplicative p, Num a, Num b) => Num (WrapBiapp p a b) where+ (+) = biliftA2 (+) (+)+ (-) = biliftA2 (*) (*)+ (*) = biliftA2 (*) (*)+ negate = bimap negate negate+ abs = bimap abs abs+ signum = bimap signum signum+ fromInteger n = fromInteger n `bipure` fromInteger n++newtype INT2 = INT2 (Int, Int)+ deriving via( WrappedNumEq2 (WrapBiapp (,) Int Int))IsZero++----+-- 5+----+class Monoid a => MonoidNull a where+ null :: a -> Bool++newtype WrpMonNull a = WRM a deriving (Eq, Semigroup, Monoid)++instance (Eq a, Monoid a) => MonoidNull (WrpMonNull a) where+ null :: WrpMonNull a -> Bool+ null = (== mempty)++deriving via( WrpMonNull Any) instance MonoidNull Any+deriving via () instance MonoidNull ()+deriving viaOrdering instance MonoidNull Ordering++----+-- 6+----+-- https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635++class Lattice a where+ sup :: a -> a -> a+ (.>=) :: a -> a -> Bool+ (.>) :: a -> a -> Bool++newtype WrapOrd a = WrappedOrd a+ deriving newtype (Eq, Ord)++instance Ord a => Lattice (WrapOrd a) where+ sup = max+ (.>=) = (>=)+ (.>) = (>)++deriving via[ a] instance Ord a => Lattice [a]+deriving via (a, b) instance (Ord a, Ord b) => Lattice (a, b)+--mkLattice_(Bool)+deriving viaBool instance Lattice Bool+--mkLattice_(Char)+deriving viaChar instance Lattice Char+--mkLattice_(Int)+deriving viaInt instance Lattice Int+--mkLattice_(Integer)+deriving viaInteger instance Lattice Integer+--mkLattice_(Float)+deriving viaFloat instance Lattice Float+--mkLattice_(Double)+deriving viaDouble instance Lattice Double+--mkLattice_(Rational)+deriving viaRational instance Lattice Rational++----+-- 7+----+-- https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html++class Functor f => Additive f where+ zero :: Num a => f a+ (^+^) :: Num a => f a -> f a -> f a+ (^+^) = liftU2 (+)+ (^-^) :: Num a => f a -> f a -> f a+ x ^-^ y = x ^+^ fmap negate y+ liftU2 :: (a -> a -> a) -> f a -> f a -> f a++instance Additive [] where+ zero = []+ liftU2 f = go where+ go (x:xs) (y:ys) = f x y : go xs ys+ go [] ys = ys+ go xs [] = xs++instance Additive Maybe where+ zero = Nothing+ liftU2 f (Just a) (Just b) = Just (f a b)+ liftU2 _ Nothing ys = ys+ liftU2 _ xs Nothing = xs++instance Applicative f => Additive (WrapApplicative f) where+ zero = pure 0+ liftU2 = liftA2++deriving via( WrapApplicative ((->) a)) instance Additive ((->) a)+deriving via( WrapApplicative Complex) instance Additive Complex+deriving via( WrapApplicative Identity) instance Additive Identity++instance Additive ZipList where+ zero = ZipList []+ liftU2 f (ZipList xs) (ZipList ys) = ZipList (liftU2 f xs ys)++class Additive (Diff p) => Affine p where+ type Diff p :: Type -> Type++ (.-.) :: Num a => p a -> p a -> Diff p a+ (.+^) :: Num a => p a -> Diff p a -> p a+ (.-^) :: Num a => p a -> Diff p a -> p a+ p .-^ v = p .+^ fmap negate v++-- #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \+-- (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \+-- (.-^) = (^-^) ; {-# INLINE (.-^) #-}+-- #define ADDITIVE(T) ADDITIVEC((), T)+newtype WrapAdditive f a = WrappedAdditive (f a)++instance Additive f => Affine (WrapAdditive f) where+ type Diff (WrapAdditive f) = f++ WrappedAdditive a .-. WrappedAdditive b = a ^-^ b+ WrappedAdditive a .+^ b = WrappedAdditive (a ^+^ b)+ WrappedAdditive a .-^ b = WrappedAdditive (a ^-^ b)++-- ADDITIVE(((->) a))+deriving via( WrapAdditive ((->) a)) instance Affine ((->) a)+-- ADDITIVE([])+deriving via( WrapAdditive []) instance Affine []+-- ADDITIVE(Complex)+deriving via( WrapAdditive Complex) instance Affine Complex+-- ADDITIVE(Maybe)+deriving via( WrapAdditive Maybe) instance Affine Maybe+-- ADDITIVE(ZipList)+deriving via( WrapAdditive ZipList) instance Affine ZipList+-- ADDITIVE(Identity)+deriving via( WrapAdditive Identity) instance Affine Identity++----+-- 8+----++class C2 a b c where+ c2 :: a -> b -> c++instance C2 a b (Const a b) where+ c2 x _ = Const x++newtype Fweemp a = Fweemp a+ deriving+ via( Const a (b :: Type))(C2ab)+
+ tests/examples/DerivingVia.hs.parser.golden view
@@ -0,0 +1,32882 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 1 460 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 1+ , SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 1+ , SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 1+ , SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 1+ , SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 1+ , SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 1+ , SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 1+ , SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 1+ , SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 1+ , SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 1+ , SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 1+ , SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 1+ , SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 1+ , SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 1+ , SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 1+ , SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 1+ , SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 1+ , SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 1+ , SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 1+ , SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 1+ , SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 1+ , SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 1+ , SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 1+ , SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 1+ , SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 1+ , SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 1+ , SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 1+ , SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 1+ , SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 1+ , SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 1+ , SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 1+ , SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 1+ , SrcSpan "tests/examples/DerivingVia.hs" 42 1 42 1+ , SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 1+ , SrcSpan "tests/examples/DerivingVia.hs" 52 1 52 1+ , SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 1+ , SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 1+ , SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 1+ , SrcSpan "tests/examples/DerivingVia.hs" 69 1 69 1+ , SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 1+ , SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 1+ , SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 1+ , SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 1+ , SrcSpan "tests/examples/DerivingVia.hs" 84 1 84 1+ , SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 1+ , SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 1+ , SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 1+ , SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 1+ , SrcSpan "tests/examples/DerivingVia.hs" 112 1 112 1+ , SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 1+ , SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 1+ , SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 1+ , SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 1+ , SrcSpan "tests/examples/DerivingVia.hs" 128 1 128 1+ , SrcSpan "tests/examples/DerivingVia.hs" 132 1 132 1+ , SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 1+ , SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 1+ , SrcSpan "tests/examples/DerivingVia.hs" 157 1 157 1+ , SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 1+ , SrcSpan "tests/examples/DerivingVia.hs" 162 1 162 1+ , SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 1+ , SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 1+ , SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 1+ , SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 1+ , SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 1+ , SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 1+ , SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 1+ , SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 1+ , SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 1+ , SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 1+ , SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 1+ , SrcSpan "tests/examples/DerivingVia.hs" 190 1 190 1+ , SrcSpan "tests/examples/DerivingVia.hs" 193 1 193 1+ , SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 1+ , SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 1+ , SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 1+ , SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 1+ , SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 1+ , SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 1+ , SrcSpan "tests/examples/DerivingVia.hs" 236 1 236 1+ , SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 1+ , SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 1+ , SrcSpan "tests/examples/DerivingVia.hs" 251 1 251 1+ , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 1+ , SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 1+ , SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 1+ , SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 1+ , SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 1+ , SrcSpan "tests/examples/DerivingVia.hs" 272 1 272 1+ , SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 1+ , SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 1+ , SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 1+ , SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 1+ , SrcSpan "tests/examples/DerivingVia.hs" 293 1 293 1+ , SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 1+ , SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 1+ , SrcSpan "tests/examples/DerivingVia.hs" 312 1 312 1+ , SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 1+ , SrcSpan "tests/examples/DerivingVia.hs" 327 1 327 1+ , SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 1+ , SrcSpan "tests/examples/DerivingVia.hs" 332 1 332 1+ , SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 1+ , SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 1+ , SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 1+ , SrcSpan "tests/examples/DerivingVia.hs" 345 1 345 1+ , SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 1+ , SrcSpan "tests/examples/DerivingVia.hs" 353 1 353 1+ , SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 1+ , SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 1+ , SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 1+ , SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 1+ , SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 1+ , SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 1+ , SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 1+ , SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 1+ , SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 1+ , SrcSpan "tests/examples/DerivingVia.hs" 380 1 380 1+ , SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 1+ , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 1+ , SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 1+ , SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 1+ , SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 1+ , SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 1+ , SrcSpan "tests/examples/DerivingVia.hs" 409 1 409 1+ , SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 1+ , SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 1+ , SrcSpan "tests/examples/DerivingVia.hs" 427 1 427 1+ , SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 1+ , SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 1+ , SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 1+ , SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 1+ , SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 1+ , SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 1+ , SrcSpan "tests/examples/DerivingVia.hs" 451 1 451 1+ , SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 1+ , SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 1+ , SrcSpan "tests/examples/DerivingVia.hs" 460 1 460 1+ , SrcSpan "tests/examples/DerivingVia.hs" 460 1 460 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 7+ , SrcSpan "tests/examples/DerivingVia.hs" 20 20 20 25+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 20 8 20 19+ , srcInfoPoints = []+ }+ "DerivingVia")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 13+ , SrcSpan "tests/examples/DerivingVia.hs" 1 33 1 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 14 1 32+ , srcInfoPoints = []+ }+ "DerivingStrategies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 13+ , SrcSpan "tests/examples/DerivingVia.hs" 2 26 2 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 2 14 2 25+ , srcInfoPoints = []+ }+ "DerivingVia"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 13+ , SrcSpan "tests/examples/DerivingVia.hs" 3 41 3 44+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 3 14 3 40+ , srcInfoPoints = []+ }+ "GeneralizedNewtypeDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 13+ , SrcSpan "tests/examples/DerivingVia.hs" 4 29 4 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 4 14 4 28+ , srcInfoPoints = []+ }+ "KindSignatures"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 13+ , SrcSpan "tests/examples/DerivingVia.hs" 5 25 5 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 5 14 5 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 13+ , SrcSpan "tests/examples/DerivingVia.hs" 6 33 6 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 6 14 6 32+ , srcInfoPoints = []+ }+ "StandaloneDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 13+ , SrcSpan "tests/examples/DerivingVia.hs" 7 27 7 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 7 14 7 26+ , srcInfoPoints = []+ }+ "InstanceSigs"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 13+ , SrcSpan "tests/examples/DerivingVia.hs" 8 25 8 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 8 14 8 24+ , srcInfoPoints = []+ }+ "TypeInType"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 13+ , SrcSpan "tests/examples/DerivingVia.hs" 9 20 9 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 9 14 9 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 13+ , SrcSpan "tests/examples/DerivingVia.hs" 10 31 10 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 10 14 10 30+ , srcInfoPoints = []+ }+ "TypeApplications"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 13+ , SrcSpan "tests/examples/DerivingVia.hs" 11 30 11 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 11 14 11 29+ , srcInfoPoints = []+ }+ "ConstraintKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 13+ , SrcSpan "tests/examples/DerivingVia.hs" 12 36 12 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 12 14 12 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 13+ , SrcSpan "tests/examples/DerivingVia.hs" 13 25 13 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 13 14 13 24+ , srcInfoPoints = []+ }+ "MultiWayIf"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 13+ , SrcSpan "tests/examples/DerivingVia.hs" 14 28 14 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 14 14 14 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 13+ , SrcSpan "tests/examples/DerivingVia.hs" 15 34 15 37+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 15 14 15 33+ , srcInfoPoints = []+ }+ "ScopedTypeVariables"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 13+ , SrcSpan "tests/examples/DerivingVia.hs" 16 32 16 35+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 16 14 16 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 13+ , SrcSpan "tests/examples/DerivingVia.hs" 17 27 17 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 17 14 17 26+ , srcInfoPoints = []+ }+ "TypeFamilies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 13+ , SrcSpan "tests/examples/DerivingVia.hs" 18 31 18 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 18 14 18 30+ , srcInfoPoints = []+ }+ "FlexibleContexts"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 13+ , SrcSpan "tests/examples/DerivingVia.hs" 19 35 19 38+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 19 14 19 34+ , srcInfoPoints = []+ }+ "UndecidableInstances"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 22 8 22 17+ , srcInfoPoints = []+ }+ "Data.Void"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 23 8 23 20+ , srcInfoPoints = []+ }+ "Data.Complex"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 24 8 24 26+ , srcInfoPoints = []+ }+ "Data.Functor.Const"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 25 8 25 29+ , srcInfoPoints = []+ }+ "Data.Functor.Identity"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 26 8 26 18+ , srcInfoPoints = []+ }+ "Data.Ratio"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 27 8 27 28+ , srcInfoPoints = []+ }+ "Control.Monad.Reader"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 28 8 28 27+ , srcInfoPoints = []+ }+ "Control.Monad.State"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 29 8 29 28+ , srcInfoPoints = []+ }+ "Control.Monad.Writer"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 8 30 27+ , srcInfoPoints = []+ }+ "Control.Applicative"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs =+ Just+ (ImportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 28 30 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 30 28 30 34+ , SrcSpan "tests/examples/DerivingVia.hs" 30 35 30 36+ , SrcSpan "tests/examples/DerivingVia.hs" 30 52 30 53+ ]+ }+ True+ [ IThingAll+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 36 30 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 30 48 30 49+ , SrcSpan "tests/examples/DerivingVia.hs" 30 49 30 51+ , SrcSpan "tests/examples/DerivingVia.hs" 30 51 30 52+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 36 30 48+ , srcInfoPoints = []+ }+ "WrappedMonad")+ ])+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 32 8 32 22+ , srcInfoPoints = []+ }+ "Data.Bifunctor"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 33 8 33 19+ , srcInfoPoints = []+ }+ "Data.Monoid"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 34 8 34 17+ , srcInfoPoints = []+ }+ "Data.Kind"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 5+ , SrcSpan "tests/examples/DerivingVia.hs" 36 13 36 14+ ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 12+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 12+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 7+ , srcInfoPoints = []+ }+ "f"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 8 36 10+ , srcInfoPoints = []+ }+ "~>"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 11 36 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 11 36 12+ , srcInfoPoints = []+ }+ "g")))+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 15 36 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 36 15 36 21+ , SrcSpan "tests/examples/DerivingVia.hs" 36 24 36 25+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 22 36 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 22 36 24+ , srcInfoPoints = []+ }+ "xx")+ ])+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 36 31 36 33 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 30+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 27+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 28 36 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 28 36 30+ , srcInfoPoints = []+ }+ "xx")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 35+ , srcInfoPoints = []+ }+ "g"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 36 36 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 36 36 38+ , srcInfoPoints = []+ }+ "xx")))))+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 1 43 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 42 12 42 13 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 1 42 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 11+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 9+ , srcInfoPoints = []+ }+ "Foo"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 10 42 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 10 42 11+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 19+ , srcInfoPoints = []+ }+ "MkFoo")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 20 42 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 20 42 21+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 22 42 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 22 42 23+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 3 43 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 43 3 43 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 8 44 11+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 12 44 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 44 12 44 13+ , SrcSpan "tests/examples/DerivingVia.hs" 44 29 44 30+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21+ , srcInfoPoints = []+ }+ "Identity")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 22 44 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 44 22 44 23+ , SrcSpan "tests/examples/DerivingVia.hs" 44 28 44 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26+ , srcInfoPoints = []+ }+ "Foo")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 27 44 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 44 27 44 28+ , srcInfoPoints = []+ }+ "a"))))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 50 20 50 21 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 19+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 17+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 15+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 13+ , srcInfoPoints = []+ }+ "Flip"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 14 50 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 14 50 15+ , srcInfoPoints = []+ }+ "p")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 16 50 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 16 50 17+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 18 50 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 18 50 19+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 50 27 50 28+ , SrcSpan "tests/examples/DerivingVia.hs" 50 46 50 47+ ]+ }+ Nothing+ Nothing+ (RecDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 50 27 50 28+ , SrcSpan "tests/examples/DerivingVia.hs" 50 46 50 47+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 26+ , srcInfoPoints = []+ }+ "Flip")+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 29 50 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 50 37 50 39 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 29 50 36+ , srcInfoPoints = []+ }+ "runFlip"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 45+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 41+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 42 50 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 50 42 50 43+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 44 50 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 44 50 45+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 1 55 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 1 52 9+ , SrcSpan "tests/examples/DerivingVia.hs" 52 44 52 49+ , SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 3+ , SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19+ , srcInfoPoints = []+ }+ "Bifunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21+ , srcInfoPoints = []+ }+ "p"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 43+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34+ , srcInfoPoints = []+ }+ "Bifunctor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 36+ , SrcSpan "tests/examples/DerivingVia.hs" 52 42 52 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40+ , srcInfoPoints = []+ }+ "Flip")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42+ , srcInfoPoints = []+ }+ "p"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 8+ , srcInfoPoints = []+ }+ "bimap")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10+ , srcInfoPoints = []+ }+ "f")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12+ , srcInfoPoints = []+ }+ "g")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 41+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19+ , srcInfoPoints = []+ }+ "Flip")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 41+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 29+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 22 53 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 22 53 27+ , srcInfoPoints = []+ }+ "bimap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 28 53 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 28 53 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 28 53 29+ , srcInfoPoints = []+ }+ "g"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 53 30 53 31+ , srcInfoPoints = []+ }+ "f"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41+ , srcInfoPoints = []+ }+ "runFlip"))))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 1 58 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 9+ , SrcSpan "tests/examples/DerivingVia.hs" 55 44 55 49+ , SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 3+ , SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19+ , srcInfoPoints = []+ }+ "Bifunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21+ , srcInfoPoints = []+ }+ "p"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 43+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32+ , srcInfoPoints = []+ }+ "Functor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 34+ , SrcSpan "tests/examples/DerivingVia.hs" 55 42 55 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 42+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 40+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38+ , srcInfoPoints = []+ }+ "Flip")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 7+ , srcInfoPoints = []+ }+ "fmap")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 11 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 36+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16+ , srcInfoPoints = []+ }+ "Flip")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 36+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 56 19 56 24+ , srcInfoPoints = []+ }+ "first")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 56 25 56 26+ , srcInfoPoints = []+ }+ "f"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36+ , srcInfoPoints = []+ }+ "runFlip"))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 59 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 58 15 58 16 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12+ , srcInfoPoints = []+ }+ "Bar"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 22+ , srcInfoPoints = []+ }+ "MkBar")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 24+ , SrcSpan "tests/examples/DerivingVia.hs" 58 36 58 37+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30+ , srcInfoPoints = []+ }+ "Either")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36+ , srcInfoPoints = []+ }+ "Int"))))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 8 60 11+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 13+ , SrcSpan "tests/examples/DerivingVia.hs" 60 28 60 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17+ , srcInfoPoints = []+ }+ "Flip")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24+ , srcInfoPoints = []+ }+ "Either"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28+ , srcInfoPoints = []+ }+ "Int")))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19+ , srcInfoPoints = []+ }+ "Functor")))+ ]+ ]+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 5+ , SrcSpan "tests/examples/DerivingVia.hs" 66 13 66 14+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12+ , srcInfoPoints = []+ }+ "MTrans"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 30 66 32 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 16+ , SrcSpan "tests/examples/DerivingVia.hs" 66 28 66 29+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 21 66 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20+ , srcInfoPoints = []+ }+ "Type")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28+ , srcInfoPoints = []+ }+ "Type")))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 34+ , SrcSpan "tests/examples/DerivingVia.hs" 66 46 66 47+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 66 39 66 41 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38+ , srcInfoPoints = []+ }+ "Type")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46+ , srcInfoPoints = []+ }+ "Type"))))))+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 72 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 69 13 69 18+ , SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 3+ , SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 69 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10+ , srcInfoPoints = []+ }+ "Dict"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12+ , srcInfoPoints = []+ }+ "c")))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 70 8 70 10 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 7+ , srcInfoPoints = []+ }+ "Dict")+ Nothing+ Nothing+ Nothing+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 22+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 12+ , srcInfoPoints = []+ }+ "c")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20+ , srcInfoPoints = []+ }+ "Dict")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22+ , srcInfoPoints = []+ }+ "c"))))+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 16 72 17 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10+ , srcInfoPoints = []+ }+ "a"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 11 72 13+ , srcInfoPoints = []+ }+ ":-"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 21+ , srcInfoPoints = []+ }+ "Sub")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 23+ , SrcSpan "tests/examples/DerivingVia.hs" 72 34 72 35+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 34+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 24+ , srcInfoPoints = []+ }+ "a")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32+ , srcInfoPoints = []+ }+ "Dict")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34+ , srcInfoPoints = []+ }+ "b"))))+ ])+ ]+ []+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 74 8 74 9 ]+ }+ (AssocLeft+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 7+ , srcInfoPoints = []+ })+ (Just 1)+ [ VarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12+ , srcInfoPoints = []+ }+ "\\\\")+ ]+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 6 75 8 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 2+ , SrcSpan "tests/examples/DerivingVia.hs" 75 2 75 4+ , SrcSpan "tests/examples/DerivingVia.hs" 75 4 75 5+ ]+ }+ "\\\\"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 10+ , srcInfoPoints = []+ }+ "a")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 23 75 25 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 15+ , SrcSpan "tests/examples/DerivingVia.hs" 75 21 75 22+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 21+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 16+ , srcInfoPoints = []+ }+ "b")))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21+ , srcInfoPoints = []+ }+ "r"))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 35 75 37 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 27+ , SrcSpan "tests/examples/DerivingVia.hs" 75 33 75 34+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 33+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28+ , srcInfoPoints = []+ }+ "a"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31+ , srcInfoPoints = []+ }+ ":-")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33+ , srcInfoPoints = []+ }+ "b"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39+ , srcInfoPoints = []+ }+ "r")))))+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2+ , srcInfoPoints = []+ }+ "r"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 3 76 5+ , srcInfoPoints = []+ }+ "\\\\")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9+ , srcInfoPoints = []+ }+ "Sub"))+ [ PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14+ , srcInfoPoints = []+ }+ "Dict"))+ []+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 16 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18+ , srcInfoPoints = []+ }+ "r"))))+ Nothing+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 1 85 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 84 1 84 6+ , SrcSpan "tests/examples/DerivingVia.hs" 84 38 84 43+ , SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 3+ , SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 37+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19+ , srcInfoPoints = []+ }+ "LiftingMonad"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 21+ , SrcSpan "tests/examples/DerivingVia.hs" 84 27 84 29+ , SrcSpan "tests/examples/DerivingVia.hs" 84 36 84 37+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 21 84 26+ , srcInfoPoints = []+ }+ "trans")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36+ , srcInfoPoints = []+ }+ "MTrans")))))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 8+ , srcInfoPoints = []+ }+ "proof"+ ]+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 38+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22+ , srcInfoPoints = []+ }+ ":-")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 30+ , SrcSpan "tests/examples/DerivingVia.hs" 85 37 85 38+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 37+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35+ , srcInfoPoints = []+ }+ "trans"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37+ , srcInfoPoints = []+ }+ "m")))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 1 91 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 9+ , SrcSpan "tests/examples/DerivingVia.hs" 87 44 87 49+ , SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 3+ , SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 3+ , SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 24+ , SrcSpan "tests/examples/DerivingVia.hs" 87 33 87 35+ , SrcSpan "tests/examples/DerivingVia.hs" 87 42 87 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32+ , srcInfoPoints = []+ }+ "s")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 8+ , srcInfoPoints = []+ }+ "proof"+ ]+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22+ , srcInfoPoints = []+ }+ ":-")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 30+ , SrcSpan "tests/examples/DerivingVia.hs" 88 40 88 41+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 40+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 88 30 88 36+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38+ , srcInfoPoints = []+ }+ "s")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40+ , srcInfoPoints = []+ }+ "m")))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8+ , srcInfoPoints = []+ }+ "proof"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 19+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14+ , srcInfoPoints = []+ }+ "Sub")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19+ , srcInfoPoints = []+ }+ "Dict")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 1 95 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 9+ , SrcSpan "tests/examples/DerivingVia.hs" 91 57 91 62+ , SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 3+ , SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 3+ , SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 56+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ "w"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 56+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 36+ , SrcSpan "tests/examples/DerivingVia.hs" 91 46 91 48+ , SrcSpan "tests/examples/DerivingVia.hs" 91 55 91 56+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 45+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45+ , srcInfoPoints = []+ }+ "w")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 8+ , srcInfoPoints = []+ }+ "proof"+ ]+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 42+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 19+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22+ , srcInfoPoints = []+ }+ ":-")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 42+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 30+ , SrcSpan "tests/examples/DerivingVia.hs" 92 41 92 42+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 92 30 92 37+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39+ , srcInfoPoints = []+ }+ "w")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41+ , srcInfoPoints = []+ }+ "m")))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8+ , srcInfoPoints = []+ }+ "proof"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 19+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14+ , srcInfoPoints = []+ }+ "Sub")))+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19+ , srcInfoPoints = []+ }+ "Dict")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 1 99 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 9+ , SrcSpan "tests/examples/DerivingVia.hs" 95 102 95 107+ , SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 3+ , SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 3+ , SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 101+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 11+ , SrcSpan "tests/examples/DerivingVia.hs" 95 29 95 30+ , SrcSpan "tests/examples/DerivingVia.hs" 95 50 95 51+ , SrcSpan "tests/examples/DerivingVia.hs" 95 52 95 54+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29+ , srcInfoPoints = []+ }+ "trans")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50+ , srcInfoPoints = []+ }+ "trans'")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 101+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 101+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 69+ , SrcSpan "tests/examples/DerivingVia.hs" 95 91 95 93+ , SrcSpan "tests/examples/DerivingVia.hs" 95 100 95 101+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 90+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 83+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83+ , srcInfoPoints = []+ }+ "trans")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90+ , srcInfoPoints = []+ }+ "trans'")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 8+ , srcInfoPoints = []+ }+ "proof"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 18+ , SrcSpan "tests/examples/DerivingVia.hs" 96 20 96 21+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20+ , srcInfoPoints = []+ }+ "m")+ ])+ Nothing+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32+ , srcInfoPoints = []+ }+ ":-")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 64+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38+ , srcInfoPoints = []+ }+ "Monad")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 40+ , SrcSpan "tests/examples/DerivingVia.hs" 96 63 96 64+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 63+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 61+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 40 96 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 40 96 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 96+ 40+ 96+ 48+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 49 96 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 49 96 54+ , srcInfoPoints = []+ }+ "trans")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 55 96 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 96 55 96 61+ , srcInfoPoints = []+ }+ "trans'")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63+ , srcInfoPoints = []+ }+ "m"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8+ , srcInfoPoints = []+ }+ "proof"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 69+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14+ , srcInfoPoints = []+ }+ "Sub")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 16+ , SrcSpan "tests/examples/DerivingVia.hs" 97 68 97 69+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 68+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 48+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 16 97 20+ , srcInfoPoints = []+ }+ "Dict")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 21 97 23+ , srcInfoPoints = []+ }+ "\\\\")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 48+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 36+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 24 97 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 24 97 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 24+ 97+ 29+ , srcInfoPoints = []+ }+ "proof")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 30 97 36+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 97 30 97 31+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 31 97 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 31+ 97+ 36+ , srcInfoPoints = []+ }+ "trans"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 38+ ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 38 97 48+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 97 38 97 39+ , SrcSpan+ "tests/examples/DerivingVia.hs" 97 47 97 48+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 39 97 47+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 39+ 97+ 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 39+ 97+ 45+ , srcInfoPoints = []+ }+ "trans'"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 46+ 97+ 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 97+ 46+ 97+ 47+ , srcInfoPoints = []+ }+ "m")))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51+ , srcInfoPoints = []+ }+ "\\\\")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 68+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 65+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 52 97 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 52 97 57+ , srcInfoPoints = []+ }+ "proof")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 59+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 59 97 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 59 97 65+ , srcInfoPoints = []+ }+ "trans'"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 68+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 67 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 97 67 97 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 97 67 97 68+ , srcInfoPoints = []+ }+ "m"))))))))+ Nothing)+ ])+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 109 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 99 15 99 17+ , SrcSpan "tests/examples/DerivingVia.hs" 99 25 99 30+ , SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 3+ , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3+ , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3+ ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14+ , srcInfoPoints = []+ }+ "Stack"))+ (Just+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24+ , srcInfoPoints = []+ }+ "MTrans"))))+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 100 9 100 11 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 8+ , srcInfoPoints = []+ }+ "Stack")+ Nothing+ Nothing+ Nothing+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 100 59 100 61 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 58+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 56+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23+ , srcInfoPoints = []+ }+ "Int"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 25+ , SrcSpan "tests/examples/DerivingVia.hs" 100 55 100 56+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31+ , srcInfoPoints = []+ }+ "StateT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36+ , srcInfoPoints = []+ }+ "Bool"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 38+ , SrcSpan "tests/examples/DerivingVia.hs" 100 54 100 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 54+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 52+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 100 38 100 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 100 38 100 45+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 46 100 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 100 46 100 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 100 46 100 52+ , srcInfoPoints = []+ }+ "String"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54+ , srcInfoPoints = []+ }+ "m")))))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 71+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 69+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67+ , srcInfoPoints = []+ }+ "Stack")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69+ , srcInfoPoints = []+ }+ "m")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71+ , srcInfoPoints = []+ }+ "a"))))+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 101 3 108 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 11+ , SrcSpan "tests/examples/DerivingVia.hs" 102 5 102 6+ , SrcSpan "tests/examples/DerivingVia.hs" 103 5 103 6+ , SrcSpan "tests/examples/DerivingVia.hs" 104 5 104 6+ , SrcSpan "tests/examples/DerivingVia.hs" 105 5 105 6+ , SrcSpan "tests/examples/DerivingVia.hs" 106 5 106 6+ , SrcSpan "tests/examples/DerivingVia.hs" 107 5 107 6+ , SrcSpan "tests/examples/DerivingVia.hs" 108 5 108 6+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 101 12 101 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18+ , srcInfoPoints = []+ }+ "Applicative")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12+ , srcInfoPoints = []+ }+ "Monad")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18+ , srcInfoPoints = []+ }+ "MonadReader")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22+ , srcInfoPoints = []+ }+ "Int"))))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17+ , srcInfoPoints = []+ }+ "MonadState")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22+ , srcInfoPoints = []+ }+ "Bool"))))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18+ , srcInfoPoints = []+ }+ "MonadWriter")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25+ , srcInfoPoints = []+ }+ "String"))))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 11+ , SrcSpan "tests/examples/DerivingVia.hs" 109 12 109 13+ , SrcSpan "tests/examples/DerivingVia.hs" 109 23 109 24+ , SrcSpan "tests/examples/DerivingVia.hs" 109 33 109 34+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 8 110 11+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 74+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 13+ , SrcSpan "tests/examples/DerivingVia.hs" 110 73 110 74+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 73+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24+ , srcInfoPoints = []+ }+ "Int"))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26+ , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+ , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26+ , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+ , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 73+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 47+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42+ , srcInfoPoints = []+ }+ "StateT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47+ , srcInfoPoints = []+ }+ "Bool"))))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49+ , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+ , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49+ , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+ , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 73+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73+ , srcInfoPoints = []+ }+ "String")))))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23+ , srcInfoPoints = []+ }+ "MonadTrans")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33+ , srcInfoPoints = []+ }+ "MFunctor")))+ ]+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 1 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 112 1 112 6+ , SrcSpan "tests/examples/DerivingVia.hs" 112 34 112 39+ , SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 3+ , SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 33+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15+ , srcInfoPoints = []+ }+ "MFunctor"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 17+ , SrcSpan "tests/examples/DerivingVia.hs" 112 23 112 25+ , SrcSpan "tests/examples/DerivingVia.hs" 112 32 112 33+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 17 112 22+ , srcInfoPoints = []+ }+ "trans")+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32+ , srcInfoPoints = []+ }+ "MTrans")))))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 57+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 113 12 113 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 33 113 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 24+ , SrcSpan "tests/examples/DerivingVia.hs" 113 31 113 32+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 37+ , SrcSpan "tests/examples/DerivingVia.hs" 113 56 113 57+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 56+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 44+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42+ , srcInfoPoints = []+ }+ "trans"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 56+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53+ , srcInfoPoints = []+ }+ "trans"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56+ , srcInfoPoints = []+ }+ "m'"))))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 115 1 119 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 9+ , SrcSpan "tests/examples/DerivingVia.hs" 115 41 115 46+ , SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 3+ , SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 3+ , SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 20+ , SrcSpan "tests/examples/DerivingVia.hs" 115 30 115 32+ , SrcSpan "tests/examples/DerivingVia.hs" 115 39 115 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29+ , srcInfoPoints = []+ }+ "r")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 65+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 12 116 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 33 116 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 24+ , SrcSpan "tests/examples/DerivingVia.hs" 116 31 116 32+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 37+ , SrcSpan "tests/examples/DerivingVia.hs" 116 64 116 65+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 48+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 37 116 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 37 116 44+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 45 116 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 45 116 46+ , srcInfoPoints = []+ }+ "r")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 52 116 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 52 116 59+ , srcInfoPoints = []+ }+ "ReaderT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 60 116 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 116 60 116 61+ , srcInfoPoints = []+ }+ "r")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64+ , srcInfoPoints = []+ }+ "m'"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 8+ , srcInfoPoints = []+ }+ "hoist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12+ , srcInfoPoints = []+ }+ "nat")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 46+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22+ , srcInfoPoints = []+ }+ "ReaderT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 46+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 33+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 25 117 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 25 117 29+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 30 117 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 30 117 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 30 117 33+ , srcInfoPoints = []+ }+ "nat"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 34 117 35+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 117 36 117 46+ , srcInfoPoints = []+ }+ "runReaderT"))))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 119 1 123 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 9+ , SrcSpan "tests/examples/DerivingVia.hs" 119 40 119 45+ , SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 3+ , SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 3+ , SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 20+ , SrcSpan "tests/examples/DerivingVia.hs" 119 29 119 31+ , SrcSpan "tests/examples/DerivingVia.hs" 119 38 119 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28+ , srcInfoPoints = []+ }+ "s")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 63+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 12 120 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 33 120 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 24+ , SrcSpan "tests/examples/DerivingVia.hs" 120 31 120 32+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 37+ , SrcSpan "tests/examples/DerivingVia.hs" 120 62 120 63+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 62+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 47+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 45+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 37 120 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 37 120 43+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 44 120 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 44 120 45+ , srcInfoPoints = []+ }+ "s")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 62+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 59+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 51 120 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 51 120 57+ , srcInfoPoints = []+ }+ "StateT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 58 120 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 120 58 120 59+ , srcInfoPoints = []+ }+ "s")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62+ , srcInfoPoints = []+ }+ "m'"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 8+ , srcInfoPoints = []+ }+ "hoist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12+ , srcInfoPoints = []+ }+ "nat")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 44+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21+ , srcInfoPoints = []+ }+ "StateT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 44+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 24 121 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 24 121 28+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 29 121 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 29 121 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 29 121 32+ , srcInfoPoints = []+ }+ "nat"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 33 121 34+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 121 35 121 44+ , srcInfoPoints = []+ }+ "runStateT"))))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 123 1 127 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 9+ , SrcSpan "tests/examples/DerivingVia.hs" 123 41 123 46+ , SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 3+ , SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 3+ , SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 20+ , SrcSpan "tests/examples/DerivingVia.hs" 123 30 123 32+ , SrcSpan "tests/examples/DerivingVia.hs" 123 39 123 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29+ , srcInfoPoints = []+ }+ "w")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39+ , srcInfoPoints = []+ }+ "MTrans"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 65+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 12 124 17+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 33 124 35 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 24+ , SrcSpan "tests/examples/DerivingVia.hs" 124 31 124 32+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 37+ , SrcSpan "tests/examples/DerivingVia.hs" 124 64 124 65+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 48+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 37 124 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 37 124 44+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 45 124 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 45 124 46+ , srcInfoPoints = []+ }+ "w")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 52 124 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 52 124 59+ , srcInfoPoints = []+ }+ "WriterT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 60 124 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 124 60 124 61+ , srcInfoPoints = []+ }+ "w")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64+ , srcInfoPoints = []+ }+ "m'"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 8+ , srcInfoPoints = []+ }+ "hoist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12+ , srcInfoPoints = []+ }+ "nat")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 14 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 41+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22+ , srcInfoPoints = []+ }+ "WriterT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 125 25 125 28+ , srcInfoPoints = []+ }+ "nat")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 125 29 125 30+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 125 31 125 41+ , srcInfoPoints = []+ }+ "runWriterT"))))))+ Nothing+ ])+ ])+ , InfixDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 127 8 127 9 ]+ }+ (AssocRight+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 7+ , srcInfoPoints = []+ })+ (Just 9)+ [ ConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11+ , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19+ , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11+ , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19+ , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20+ ]+ }+ "ComposeT")+ ]+ , GDataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 1 130 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 128 18 128 20+ , SrcSpan "tests/examples/DerivingVia.hs" 128 48 128 53+ , SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 3+ , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3+ , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3+ ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 128 1 128 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17+ , srcInfoPoints = []+ }+ "ComposeT"))+ (Just+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 128 28 128 30 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27+ , srcInfoPoints = []+ }+ "MTrans")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 128 38 128 40 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37+ , srcInfoPoints = []+ }+ "MTrans")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47+ , srcInfoPoints = []+ }+ "MTrans"))))))+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 63+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 129 12 129 14+ , SrcSpan "tests/examples/DerivingVia.hs" 129 15 129 16+ , SrcSpan "tests/examples/DerivingVia.hs" 129 42 129 43+ , SrcSpan "tests/examples/DerivingVia.hs" 129 44 129 46+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 11+ , srcInfoPoints = []+ }+ "ComposeT")+ Nothing+ Nothing+ (Just+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 129 29 129 31 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 28+ , srcInfoPoints = []+ }+ "getComposeT"+ ]+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 39+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33+ , srcInfoPoints = []+ }+ "f"))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 35+ , SrcSpan "tests/examples/DerivingVia.hs" 129 38 129 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36+ , srcInfoPoints = []+ }+ "g"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38+ , srcInfoPoints = []+ }+ "m")))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41+ , srcInfoPoints = []+ }+ "a")))+ ])+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 63+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 61+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 59+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 57+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61+ , srcInfoPoints = []+ }+ "m")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63+ , srcInfoPoints = []+ }+ "a")))+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 11+ , SrcSpan "tests/examples/DerivingVia.hs" 130 20 130 21+ , SrcSpan "tests/examples/DerivingVia.hs" 130 28 130 29+ , SrcSpan "tests/examples/DerivingVia.hs" 130 41 130 42+ , SrcSpan "tests/examples/DerivingVia.hs" 130 48 130 49+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 12 130 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41+ , srcInfoPoints = []+ }+ "Applicative")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48+ , srcInfoPoints = []+ }+ "Monad")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 132 1 137 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 132 1 132 9+ , SrcSpan "tests/examples/DerivingVia.hs" 132 84 132 89+ , SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 3+ , SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 3+ , SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 83+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 11+ , SrcSpan "tests/examples/DerivingVia.hs" 132 23 132 24+ , SrcSpan "tests/examples/DerivingVia.hs" 132 37 132 38+ , SrcSpan "tests/examples/DerivingVia.hs" 132 53 132 54+ , SrcSpan "tests/examples/DerivingVia.hs" 132 55 132 57+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21+ , srcInfoPoints = []+ }+ "MonadTrans")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35+ , srcInfoPoints = []+ }+ "MonadTrans")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37+ , srcInfoPoints = []+ }+ "g")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53+ , srcInfoPoints = []+ }+ "g")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 83+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68+ , srcInfoPoints = []+ }+ "MonadTrans")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 83+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 70+ , SrcSpan "tests/examples/DerivingVia.hs" 132 82 132 83+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 82+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 80+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82+ , srcInfoPoints = []+ }+ "g"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 7+ , srcInfoPoints = []+ }+ "lift"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 17+ , SrcSpan "tests/examples/DerivingVia.hs" 133 19 133 20+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19+ , srcInfoPoints = []+ }+ "m")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 133 21 133 26+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28+ , srcInfoPoints = []+ }+ "m"))))))+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 51+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 51+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 49+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 47+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 133 37 133 45+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51+ , srcInfoPoints = []+ }+ "m"))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7+ , srcInfoPoints = []+ }+ "lift"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 8 135 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 134 8 134 9 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 135 19+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 32+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18+ , srcInfoPoints = []+ }+ "ComposeT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25+ , srcInfoPoints = []+ }+ "lift")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32+ , srcInfoPoints = []+ }+ "lift")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7+ , srcInfoPoints = []+ }+ "\\\\")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 19+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13+ , srcInfoPoints = []+ }+ "proof")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 15 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16+ , srcInfoPoints = []+ }+ "g"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19+ , srcInfoPoints = []+ }+ "m"))))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 137 1 146 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 9+ , SrcSpan "tests/examples/DerivingVia.hs" 137 78 137 83+ , SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 3+ , SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 3+ , SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 77+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 11+ , SrcSpan "tests/examples/DerivingVia.hs" 137 21 137 22+ , SrcSpan "tests/examples/DerivingVia.hs" 137 33 137 34+ , SrcSpan "tests/examples/DerivingVia.hs" 137 49 137 50+ , SrcSpan "tests/examples/DerivingVia.hs" 137 51 137 53+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33+ , srcInfoPoints = []+ }+ "g")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47+ , srcInfoPoints = []+ }+ "LiftingMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49+ , srcInfoPoints = []+ }+ "g")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 77+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62+ , srcInfoPoints = []+ }+ "MFunctor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 77+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 64+ , SrcSpan "tests/examples/DerivingVia.hs" 137 76 137 77+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 76+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 74+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76+ , srcInfoPoints = []+ }+ "g"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 8+ , srcInfoPoints = []+ }+ "hoist"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 18+ , SrcSpan "tests/examples/DerivingVia.hs" 138 23 138 24+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20+ , srcInfoPoints = []+ }+ "m")+ , UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23+ , srcInfoPoints = []+ }+ "m'")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 25 138 30+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32+ , srcInfoPoints = []+ }+ "m"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 46 138 48 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 45+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 37+ , SrcSpan "tests/examples/DerivingVia.hs" 138 44 138 45+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 44+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41+ , srcInfoPoints = []+ }+ "~>")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44+ , srcInfoPoints = []+ }+ "m'"))))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 84+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 50+ , SrcSpan "tests/examples/DerivingVia.hs" 138 83 138 84+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 83+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 64+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 62+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 60+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 50 138 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 50 138 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 138+ 50+ 138+ 58+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 59 138 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 59 138 60+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 61 138 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 61 138 62+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64+ , srcInfoPoints = []+ }+ "m")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67+ , srcInfoPoints = []+ }+ "~>")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 83+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 80+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 78+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 68 138 76+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 68 138 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 138+ 68+ 138+ 76+ , srcInfoPoints = []+ }+ "ComposeT")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 77 138 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 77 138 78+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 79 138 80+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 138 79 138 80+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83+ , srcInfoPoints = []+ }+ "m'"))))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 8+ , srcInfoPoints = []+ }+ "hoist")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 11 140 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 139 11 139 12 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 13 140 19+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 53+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 13 139 21+ , srcInfoPoints = []+ }+ "ComposeT")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 22 139 23+ , srcInfoPoints = []+ }+ ".")))+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 53+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 39+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 24 139 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 24 139 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 24+ 139+ 29+ , srcInfoPoints = []+ }+ "hoist")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 30 139 39+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 139 30 139 31+ , SrcSpan+ "tests/examples/DerivingVia.hs" 139 38 139 39+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 31 139 38+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 31+ 139+ 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 31+ 139+ 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 31+ 139+ 36+ , srcInfoPoints = []+ }+ "hoist")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 37+ 139+ 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 37+ 139+ 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 139+ 37+ 139+ 38+ , srcInfoPoints = []+ }+ "f"))))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 40 139 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 40 139 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 40 139 41+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 139 42 139 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 42 139 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 139 42 139 53+ , srcInfoPoints = []+ }+ "getComposeT")))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7+ , srcInfoPoints = []+ }+ "\\\\")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 19+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 16+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 140 8 140 13+ , srcInfoPoints = []+ }+ "proof")))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 15+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 140 15 140 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 140 15 140 16+ , srcInfoPoints = []+ }+ "g"))))+ (TypeApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 140 18 140 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 140 18 140 19+ , srcInfoPoints = []+ }+ "m"))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 1 150 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 146 13 146 14 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 12+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10+ , srcInfoPoints = []+ }+ "X"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 16+ , srcInfoPoints = []+ }+ "X")+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 18+ , SrcSpan "tests/examples/DerivingVia.hs" 146 19 146 20+ , SrcSpan "tests/examples/DerivingVia.hs" 146 22 146 23+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22+ , srcInfoPoints = []+ }+ "a")+ ]+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 11+ , SrcSpan "tests/examples/DerivingVia.hs" 147 12 147 13+ , SrcSpan "tests/examples/DerivingVia.hs" 147 22 147 23+ , SrcSpan "tests/examples/DerivingVia.hs" 147 30 147 31+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 8 148 11+ , srcInfoPoints = []+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 13+ , SrcSpan "tests/examples/DerivingVia.hs" 148 22 148 23+ , SrcSpan "tests/examples/DerivingVia.hs" 148 29 148 30+ ]+ }+ Boxed+ [ TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20+ , srcInfoPoints = []+ }+ "Product")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22+ , srcInfoPoints = []+ }+ "a"))+ , TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27+ , srcInfoPoints = []+ }+ "Sum")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29+ , srcInfoPoints = []+ }+ "a"))+ ])))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22+ , srcInfoPoints = []+ }+ "Semigroup")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30+ , srcInfoPoints = []+ }+ "Monoid")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 11+ , SrcSpan "tests/examples/DerivingVia.hs" 150 12 150 13+ , SrcSpan "tests/examples/DerivingVia.hs" 150 17 150 18+ , SrcSpan "tests/examples/DerivingVia.hs" 150 21 150 22+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 8 151 11+ , srcInfoPoints = []+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 13+ , SrcSpan "tests/examples/DerivingVia.hs" 151 14 151 15+ , SrcSpan "tests/examples/DerivingVia.hs" 151 17 151 18+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17+ , srcInfoPoints = []+ }+ "a")+ ])))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17+ , srcInfoPoints = []+ }+ "Show")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21+ , srcInfoPoints = []+ }+ "Eq")))+ ]+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 157 1 158 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 157 1 157 6+ , SrcSpan "tests/examples/DerivingVia.hs" 157 11 157 16+ , SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 3+ , SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10+ , srcInfoPoints = []+ }+ "f")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 4+ , srcInfoPoints = []+ }+ "c"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 158 12 158 14 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 11+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18+ , srcInfoPoints = []+ }+ "Int")))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 160 16 160 17 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 15+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11+ , srcInfoPoints = []+ }+ "X2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13+ , srcInfoPoints = []+ }+ "f")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 20+ , srcInfoPoints = []+ }+ "X2")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 22+ , SrcSpan "tests/examples/DerivingVia.hs" 160 25 160 26+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 25+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 162 1 165 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 162 1 162 9+ , SrcSpan "tests/examples/DerivingVia.hs" 162 19 162 24+ , SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 3+ , SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11+ , srcInfoPoints = []+ }+ "C")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 13+ , SrcSpan "tests/examples/DerivingVia.hs" 162 17 162 18+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 17+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15+ , srcInfoPoints = []+ }+ "X2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17+ , srcInfoPoints = []+ }+ "f"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4+ , srcInfoPoints = []+ }+ "c"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 6 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 14+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12+ , srcInfoPoints = []+ }+ "const")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14+ , srcInfoPoints = []+ }+ 0+ "0"))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 9+ , SrcSpan "tests/examples/DerivingVia.hs" 165 22 165 30+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 10 165 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 15+ , SrcSpan "tests/examples/DerivingVia.hs" 165 20 165 21+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17+ , srcInfoPoints = []+ }+ "X2")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20+ , srcInfoPoints = []+ }+ "IO")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32+ , srcInfoPoints = []+ }+ "C")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35+ , srcInfoPoints = []+ }+ "IO")))))+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 171 14 171 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11+ , srcInfoPoints = []+ }+ "P0"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 18+ , srcInfoPoints = []+ }+ "P0")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 47 171 50+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52+ , srcInfoPoints = []+ }+ "a"))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 172 14 172 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11+ , srcInfoPoints = []+ }+ "P1"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 18+ , srcInfoPoints = []+ }+ "P1")+ [ TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 20+ , SrcSpan "tests/examples/DerivingVia.hs" 172 21 172 22+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21+ , srcInfoPoints = []+ }+ "a"))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 47 172 50+ , srcInfoPoints = []+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 52+ , SrcSpan "tests/examples/DerivingVia.hs" 172 53 172 54+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53+ , srcInfoPoints = []+ }+ "a")))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 173 14 173 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11+ , srcInfoPoints = []+ }+ "P2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 18+ , srcInfoPoints = []+ }+ "P2")+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 20+ , SrcSpan "tests/examples/DerivingVia.hs" 173 21 173 22+ , SrcSpan "tests/examples/DerivingVia.hs" 173 24 173 25+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24+ , srcInfoPoints = []+ }+ "a")+ ]+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 47 173 50+ , srcInfoPoints = []+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 57+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 52+ , SrcSpan "tests/examples/DerivingVia.hs" 173 53 173 54+ , SrcSpan "tests/examples/DerivingVia.hs" 173 56 173 57+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56+ , srcInfoPoints = []+ }+ "a")+ ])))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 174 14 174 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11+ , srcInfoPoints = []+ }+ "P3"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 18+ , srcInfoPoints = []+ }+ "P3")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 20+ , SrcSpan "tests/examples/DerivingVia.hs" 174 27 174 28+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 47 174 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 60+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 52+ , SrcSpan "tests/examples/DerivingVia.hs" 174 59 174 60+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 59+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57+ , srcInfoPoints = []+ }+ "First")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 175 14 175 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11+ , srcInfoPoints = []+ }+ "P4"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 18+ , srcInfoPoints = []+ }+ "P4")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 20+ , SrcSpan "tests/examples/DerivingVia.hs" 175 27 175 28+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25+ , srcInfoPoints = []+ }+ "Maybe")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 47 175 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 52+ , SrcSpan "tests/examples/DerivingVia.hs" 175 61 175 62+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57+ , srcInfoPoints = []+ }+ "First")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59+ , srcInfoPoints = []+ }+ "$")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 176 14 176 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11+ , srcInfoPoints = []+ }+ "P5"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 18+ , srcInfoPoints = []+ }+ "P5")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 47 176 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 65+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 52+ , SrcSpan "tests/examples/DerivingVia.hs" 176 64 176 65+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 64+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60+ , srcInfoPoints = []+ }+ "Identity")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62+ , srcInfoPoints = []+ }+ "$")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 14 177 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11+ , srcInfoPoints = []+ }+ "P6"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 18+ , srcInfoPoints = []+ }+ "P6")+ [ TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 20+ , SrcSpan "tests/examples/DerivingVia.hs" 177 21 177 22+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21+ , srcInfoPoints = []+ }+ "a"))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 47 177 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 52+ , SrcSpan "tests/examples/DerivingVia.hs" 177 58 177 59+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+ , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+ , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53+ , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54+ ]+ })))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56+ , srcInfoPoints = []+ }+ "$")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 14 178 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11+ , srcInfoPoints = []+ }+ "P7"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 18+ , srcInfoPoints = []+ }+ "P7")+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 20+ , SrcSpan "tests/examples/DerivingVia.hs" 178 21 178 22+ , SrcSpan "tests/examples/DerivingVia.hs" 178 24 178 25+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24+ , srcInfoPoints = []+ }+ "a")+ ]+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 47 178 50+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 70+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 52+ , SrcSpan "tests/examples/DerivingVia.hs" 178 69 178 70+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 69+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60+ , srcInfoPoints = []+ }+ "Identity")))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62+ , srcInfoPoints = []+ }+ "$")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 64+ , SrcSpan "tests/examples/DerivingVia.hs" 178 65 178 66+ , SrcSpan "tests/examples/DerivingVia.hs" 178 68 178 69+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68+ , srcInfoPoints = []+ }+ "a")+ ])))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46+ , srcInfoPoints = []+ }+ "Show")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 14 179 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 13+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11+ , srcInfoPoints = []+ }+ "P8"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 18+ , srcInfoPoints = []+ }+ "P8")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 20+ , SrcSpan "tests/examples/DerivingVia.hs" 179 31 179 32+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26+ , srcInfoPoints = []+ }+ "Either")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+ , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+ , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28+ , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29+ ]+ }))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 41 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 50 179 53+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 55+ , SrcSpan "tests/examples/DerivingVia.hs" 179 70 179 71+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 70+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56+ , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+ , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56+ , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+ , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57+ , srcInfoPoints = []+ }+ "$")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 70+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 60+ , SrcSpan "tests/examples/DerivingVia.hs" 179 69 179 70+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 69+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66+ , srcInfoPoints = []+ }+ "Either")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68+ , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68+ , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 179 67 179 68+ , SrcSpan+ "tests/examples/DerivingVia.hs" 179 68 179 69+ ]+ })))))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49+ , srcInfoPoints = []+ }+ "Functor")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 181 15 181 16 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14+ , srcInfoPoints = []+ }+ (DHInfix+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14+ , srcInfoPoints = []+ }+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10+ , srcInfoPoints = []+ }+ "f"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 11 181 12+ , srcInfoPoints = []+ }+ "$"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 20+ , srcInfoPoints = []+ }+ "APP")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 22+ , SrcSpan "tests/examples/DerivingVia.hs" 181 25 181 26+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 25+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 35 ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 36 181 43+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48+ , srcInfoPoints = []+ }+ "Show")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 57 ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 58 181 65+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73+ , srcInfoPoints = []+ }+ "Functor")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 1 191 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 190 29 190 30 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 190 1 190 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 28+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 26+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24+ , srcInfoPoints = []+ }+ "WrapApplicative"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26+ , srcInfoPoints = []+ }+ "f")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 49+ , srcInfoPoints = []+ }+ "WrappedApplicative")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 51+ , SrcSpan "tests/examples/DerivingVia.hs" 190 54 190 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 54+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 11+ , SrcSpan "tests/examples/DerivingVia.hs" 191 12 191 13+ , SrcSpan "tests/examples/DerivingVia.hs" 191 20 191 21+ , SrcSpan "tests/examples/DerivingVia.hs" 191 33 191 34+ ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33+ , srcInfoPoints = []+ }+ "Applicative")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 193 1 201 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 193 1 193 9+ , SrcSpan "tests/examples/DerivingVia.hs" 193 62 193 67+ , SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 3+ , SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 3+ , SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 3+ , SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 3+ , SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 3+ , SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 3+ , SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 61+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 11+ , SrcSpan "tests/examples/DerivingVia.hs" 193 24 193 25+ , SrcSpan "tests/examples/DerivingVia.hs" 193 31 193 32+ , SrcSpan "tests/examples/DerivingVia.hs" 193 33 193 35+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 61+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39+ , srcInfoPoints = []+ }+ "Num")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 41+ , SrcSpan "tests/examples/DerivingVia.hs" 193 60 193 61+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 60+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 4+ , SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5+ , SrcSpan "tests/examples/DerivingVia.hs" 194 5 194 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5+ , srcInfoPoints = []+ }+ "+"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23+ , srcInfoPoints = []+ }+ "liftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25+ , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+ , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25+ , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+ , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26+ , srcInfoPoints = []+ }+ "+")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 4+ , SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5+ , SrcSpan "tests/examples/DerivingVia.hs" 195 5 195 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5+ , srcInfoPoints = []+ }+ "*"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23+ , srcInfoPoints = []+ }+ "liftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25+ , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+ , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25+ , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+ , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26+ , srcInfoPoints = []+ }+ "*")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9+ , srcInfoPoints = []+ }+ "negate"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28+ , srcInfoPoints = []+ }+ "negate")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14+ , srcInfoPoints = []+ }+ "fromInteger"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 16 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21+ , srcInfoPoints = []+ }+ "pure")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35+ , srcInfoPoints = []+ }+ "fromInteger")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6+ , srcInfoPoints = []+ }+ "abs"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 25+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25+ , srcInfoPoints = []+ }+ "abs")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9+ , srcInfoPoints = []+ }+ "signum"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 16 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28+ , srcInfoPoints = []+ }+ "signum")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 201 1 205 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 9+ , SrcSpan "tests/examples/DerivingVia.hs" 201 76 201 81+ , SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 3+ , SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 3+ , SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 75+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 11+ , SrcSpan "tests/examples/DerivingVia.hs" 201 24 201 25+ , SrcSpan "tests/examples/DerivingVia.hs" 201 38 201 39+ , SrcSpan "tests/examples/DerivingVia.hs" 201 40 201 42+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36+ , srcInfoPoints = []+ }+ "Fractional")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 75+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53+ , srcInfoPoints = []+ }+ "Fractional")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 75+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 55+ , SrcSpan "tests/examples/DerivingVia.hs" 201 74 201 75+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 74+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 72+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8+ , srcInfoPoints = []+ }+ "recip"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 17 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 28+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28+ , srcInfoPoints = []+ }+ "recip")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15+ , srcInfoPoints = []+ }+ "fromRational"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 17 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22+ , srcInfoPoints = []+ }+ "pure")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37+ , srcInfoPoints = []+ }+ "fromRational")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 205 1 221 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 9+ , SrcSpan "tests/examples/DerivingVia.hs" 205 72 205 77+ , SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 3+ , SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 3+ , SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 3+ , SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 3+ , SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 3+ , SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 3+ , SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 3+ , SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 3+ , SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 3+ , SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 3+ , SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 3+ , SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 3+ , SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 3+ , SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 3+ , SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 71+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 11+ , SrcSpan "tests/examples/DerivingVia.hs" 205 24 205 25+ , SrcSpan "tests/examples/DerivingVia.hs" 205 36 205 37+ , SrcSpan "tests/examples/DerivingVia.hs" 205 38 205 40+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34+ , srcInfoPoints = []+ }+ "Floating")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 71+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49+ , srcInfoPoints = []+ }+ "Floating")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 71+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 51+ , SrcSpan "tests/examples/DerivingVia.hs" 205 70 205 71+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 70+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 68+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5+ , srcInfoPoints = []+ }+ "pi"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15+ , srcInfoPoints = []+ }+ "pure")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18+ , srcInfoPoints = []+ }+ "pi")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7+ , srcInfoPoints = []+ }+ "sqrt"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20+ , srcInfoPoints = []+ }+ "sqrt")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6+ , srcInfoPoints = []+ }+ "exp"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19+ , srcInfoPoints = []+ }+ "exp")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6+ , srcInfoPoints = []+ }+ "log"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19+ , srcInfoPoints = []+ }+ "log")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6+ , srcInfoPoints = []+ }+ "sin"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19+ , srcInfoPoints = []+ }+ "sin")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6+ , srcInfoPoints = []+ }+ "cos"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19+ , srcInfoPoints = []+ }+ "cos")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7+ , srcInfoPoints = []+ }+ "asin"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20+ , srcInfoPoints = []+ }+ "asin")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7+ , srcInfoPoints = []+ }+ "atan"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20+ , srcInfoPoints = []+ }+ "atan")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7+ , srcInfoPoints = []+ }+ "acos"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20+ , srcInfoPoints = []+ }+ "acos")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7+ , srcInfoPoints = []+ }+ "sinh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20+ , srcInfoPoints = []+ }+ "sinh")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7+ , srcInfoPoints = []+ }+ "cosh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 20+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20+ , srcInfoPoints = []+ }+ "cosh")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8+ , srcInfoPoints = []+ }+ "asinh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21+ , srcInfoPoints = []+ }+ "asinh")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8+ , srcInfoPoints = []+ }+ "atanh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21+ , srcInfoPoints = []+ }+ "atanh")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8+ , srcInfoPoints = []+ }+ "acosh"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21+ , srcInfoPoints = []+ }+ "acosh")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 221 1 224 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 9+ , SrcSpan "tests/examples/DerivingVia.hs" 221 74 221 79+ , SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 3+ , SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 73+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 11+ , SrcSpan "tests/examples/DerivingVia.hs" 221 24 221 25+ , SrcSpan "tests/examples/DerivingVia.hs" 221 37 221 38+ , SrcSpan "tests/examples/DerivingVia.hs" 221 39 221 41+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37+ , srcInfoPoints = []+ }+ "s")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 73+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 73+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 53+ , SrcSpan "tests/examples/DerivingVia.hs" 221 72 221 73+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 72+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 70+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72+ , srcInfoPoints = []+ }+ "s"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 4+ , SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6+ , SrcSpan "tests/examples/DerivingVia.hs" 222 6 222 7+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6+ , srcInfoPoints = []+ }+ "<>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16+ , srcInfoPoints = []+ }+ "liftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18+ , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+ , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18+ , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+ , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20+ , srcInfoPoints = []+ }+ "<>")))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 224 1 230 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 9+ , SrcSpan "tests/examples/DerivingVia.hs" 224 68 224 73+ , SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 3+ , SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 67+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 11+ , SrcSpan "tests/examples/DerivingVia.hs" 224 24 224 25+ , SrcSpan "tests/examples/DerivingVia.hs" 224 34 224 35+ , SrcSpan "tests/examples/DerivingVia.hs" 224 36 224 38+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34+ , srcInfoPoints = []+ }+ "m")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 67+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 47+ , SrcSpan "tests/examples/DerivingVia.hs" 224 66 224 67+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 66+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 64+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66+ , srcInfoPoints = []+ }+ "m"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9+ , srcInfoPoints = []+ }+ "mempty"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16+ , srcInfoPoints = []+ }+ "pure")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23+ , srcInfoPoints = []+ }+ "mempty")))))+ Nothing)+ ])+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 1 231 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 6+ , SrcSpan "tests/examples/DerivingVia.hs" 230 17 230 22+ , SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 3+ , SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14+ , srcInfoPoints = []+ }+ "Pointed"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16+ , srcInfoPoints = []+ }+ "p")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 10+ , srcInfoPoints = []+ }+ "pointed"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 231 16 231 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 22+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22+ , srcInfoPoints = []+ }+ "a")))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 1 234 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 233 23 233 24 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 22+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18+ , srcInfoPoints = []+ }+ "WrapMonad"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20+ , srcInfoPoints = []+ }+ "f")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 37+ , srcInfoPoints = []+ }+ "WrappedMonad")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 39+ , SrcSpan "tests/examples/DerivingVia.hs" 233 42 233 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 42+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 11+ , SrcSpan "tests/examples/DerivingVia.hs" 234 20 234 21+ , SrcSpan "tests/examples/DerivingVia.hs" 234 28 234 29+ , SrcSpan "tests/examples/DerivingVia.hs" 234 35 234 36+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 12 234 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28+ , srcInfoPoints = []+ }+ "Pointed")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35+ , srcInfoPoints = []+ }+ "Monad")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 236 1 239 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 236 1 236 9+ , SrcSpan "tests/examples/DerivingVia.hs" 236 56 236 61+ , SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 3+ , SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 55+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 11+ , SrcSpan "tests/examples/DerivingVia.hs" 236 18 236 19+ , SrcSpan "tests/examples/DerivingVia.hs" 236 29 236 30+ , SrcSpan "tests/examples/DerivingVia.hs" 236 31 236 33+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18+ , srcInfoPoints = []+ }+ "m")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27+ , srcInfoPoints = []+ }+ "Pointed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29+ , srcInfoPoints = []+ }+ "m")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 55+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41+ , srcInfoPoints = []+ }+ "Functor")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 43+ , SrcSpan "tests/examples/DerivingVia.hs" 236 54 236 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52+ , srcInfoPoints = []+ }+ "WrapMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54+ , srcInfoPoints = []+ }+ "m"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7+ , srcInfoPoints = []+ }+ "fmap"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 9 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15+ , srcInfoPoints = []+ }+ "liftM"))))+ Nothing)+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 239 1 244 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 9+ , SrcSpan "tests/examples/DerivingVia.hs" 239 60 239 65+ , SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 3+ , SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 3+ , SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 59+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 11+ , SrcSpan "tests/examples/DerivingVia.hs" 239 18 239 19+ , SrcSpan "tests/examples/DerivingVia.hs" 239 29 239 30+ , SrcSpan "tests/examples/DerivingVia.hs" 239 31 239 33+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16+ , srcInfoPoints = []+ }+ "Monad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18+ , srcInfoPoints = []+ }+ "m")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27+ , srcInfoPoints = []+ }+ "Pointed")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29+ , srcInfoPoints = []+ }+ "m")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 59+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 47+ , SrcSpan "tests/examples/DerivingVia.hs" 239 58 239 59+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56+ , srcInfoPoints = []+ }+ "WrapMonad")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58+ , srcInfoPoints = []+ }+ "m"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7+ , srcInfoPoints = []+ }+ "pure"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18+ , srcInfoPoints = []+ }+ "pointed"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 4+ , SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7+ , SrcSpan "tests/examples/DerivingVia.hs" 241 7 241 8+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7+ , srcInfoPoints = []+ }+ "<*>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13+ , srcInfoPoints = []+ }+ "ap"))))+ Nothing)+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 1 247 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 244 15 244 16 ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12+ , srcInfoPoints = []+ }+ "Sorted"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 23+ , srcInfoPoints = []+ }+ "Sorted")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 11+ , SrcSpan "tests/examples/DerivingVia.hs" 245 12 245 13+ , SrcSpan "tests/examples/DerivingVia.hs" 245 20 245 21+ , SrcSpan "tests/examples/DerivingVia.hs" 245 33 245 34+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 246 5 246 8+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 10+ , SrcSpan "tests/examples/DerivingVia.hs" 246 26 246 27+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19+ , srcInfoPoints = []+ }+ "WrapMonad")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26+ , srcInfoPoints = []+ }+ "Sorted")))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33+ , srcInfoPoints = []+ }+ "Applicative")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 58+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 11+ , SrcSpan "tests/examples/DerivingVia.hs" 247 12 247 13+ , SrcSpan "tests/examples/DerivingVia.hs" 247 16 247 17+ , SrcSpan "tests/examples/DerivingVia.hs" 247 28 247 29+ , SrcSpan "tests/examples/DerivingVia.hs" 247 38 247 39+ , SrcSpan "tests/examples/DerivingVia.hs" 247 49 247 50+ , SrcSpan "tests/examples/DerivingVia.hs" 247 57 247 58+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 248 5 248 8+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 10+ , SrcSpan "tests/examples/DerivingVia.hs" 248 34 248 35+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 34+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32+ , srcInfoPoints = []+ }+ "Sorted"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34+ , srcInfoPoints = []+ }+ "a"))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16+ , srcInfoPoints = []+ }+ "Num")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28+ , srcInfoPoints = []+ }+ "Fractional")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38+ , srcInfoPoints = []+ }+ "Floating")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49+ , srcInfoPoints = []+ }+ "Semigroup")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57+ , srcInfoPoints = []+ }+ "Monoid")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 251 1 258 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 251 1 251 9+ , SrcSpan "tests/examples/DerivingVia.hs" 251 23 251 28+ , SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 3+ , SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 3+ , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15+ , srcInfoPoints = []+ }+ "Monad")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22+ , srcInfoPoints = []+ }+ "Sorted")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 4+ , SrcSpan "tests/examples/DerivingVia.hs" 252 4 252 7+ , SrcSpan "tests/examples/DerivingVia.hs" 252 7 252 8+ ]+ }+ ">>="+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 21 252 23 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18+ , srcInfoPoints = []+ }+ "Sorted")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 40 252 42 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 25+ , SrcSpan "tests/examples/DerivingVia.hs" 252 38 252 39+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 252 27 252 29 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 252 30 252 36+ , srcInfoPoints = []+ }+ "Sorted")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38+ , srcInfoPoints = []+ }+ "b")))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 51+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49+ , srcInfoPoints = []+ }+ "Sorted")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51+ , srcInfoPoints = []+ }+ "b"))))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9+ , srcInfoPoints = []+ }+ "Sorted"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13+ , srcInfoPoints = []+ }+ "b")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15+ , srcInfoPoints = []+ }+ "c")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 16 253 19+ , srcInfoPoints = []+ }+ ">>=")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 23 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 39+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 36+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 33+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 24 253 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 24 253 30+ , srcInfoPoints = []+ }+ "Sorted")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 31 253 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 31 253 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 31 253 33+ , srcInfoPoints = []+ }+ "a'"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 253 34 253 36+ , srcInfoPoints = []+ }+ "b'"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39+ , srcInfoPoints = []+ }+ "c'")))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 5 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 5+ , SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 5+ , SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 5+ , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0+ ]+ }+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 26+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 5 254 11+ , srcInfoPoints = []+ }+ "Sorted"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 12 254 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 12 254 14+ , srcInfoPoints = []+ }+ "a'")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 15 254 16+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 18 254 19+ , srcInfoPoints = []+ }+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 22 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 254 23 254 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 23 254 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 23 254 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 254+ 23+ 254+ 24+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 25 254 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 254 25 254 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 254+ 25+ 254+ 26+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 26+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 5 255 11+ , srcInfoPoints = []+ }+ "Sorted"))+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 12 255 13+ , srcInfoPoints = []+ }+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 15 255 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 15 255 17+ , srcInfoPoints = []+ }+ "b'")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 18 255 19+ , srcInfoPoints = []+ }+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 22 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 255 23 255 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 23 255 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 23 255 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 255+ 23+ 255+ 24+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 25 255 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 255 25 255 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 255+ 25+ 255+ 26+ , srcInfoPoints = []+ }+ "b")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 26+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 5 256 11+ , srcInfoPoints = []+ }+ "Sorted"))+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 12 256 13+ , srcInfoPoints = []+ }+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 15 256 16+ , srcInfoPoints = []+ }+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 18 256 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 18 256 20+ , srcInfoPoints = []+ }+ "c'")+ ])+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 22 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 256 23 256 26+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 23 256 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 23 256 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 256+ 23+ 256+ 24+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 25 256 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 256 25 256 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 256+ 25+ 256+ 26+ , srcInfoPoints = []+ }+ "c")))))+ Nothing+ ]))+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 258 1 265 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 9+ , SrcSpan "tests/examples/DerivingVia.hs" 258 25 258 30+ , SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 3+ , SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 3+ , SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17+ , srcInfoPoints = []+ }+ "Pointed")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24+ , srcInfoPoints = []+ }+ "Sorted")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 10+ , srcInfoPoints = []+ }+ "pointed"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 259 16 259 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15+ , srcInfoPoints = []+ }+ "a"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25+ , srcInfoPoints = []+ }+ "Sorted")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27+ , srcInfoPoints = []+ }+ "a")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 10+ , srcInfoPoints = []+ }+ "pointed")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12+ , srcInfoPoints = []+ }+ "a")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 14 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 27+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 23+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 15 260 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 15 260 21+ , srcInfoPoints = []+ }+ "Sorted")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 22 260 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 22 260 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 22 260 23+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 260 24 260 25+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ ])+ ])+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 1 266 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 6+ , SrcSpan "tests/examples/DerivingVia.hs" 265 16 265 21+ , SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 3+ , SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 15+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13+ , srcInfoPoints = []+ }+ "IsZero"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 9+ , srcInfoPoints = []+ }+ "isZero"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 266 15 266 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22+ , srcInfoPoints = []+ }+ "Bool")))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 268 25 268 26 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21+ , srcInfoPoints = []+ }+ "WrappedNumEq"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 39+ , srcInfoPoints = []+ }+ "WrappedNumEq")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 269 25 269 26 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20+ , srcInfoPoints = []+ }+ "WrappedShow"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 38+ , srcInfoPoints = []+ }+ "WrappedShow")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 270 25 270 26 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 24+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22+ , srcInfoPoints = []+ }+ "WrappedNumEq2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 40+ , srcInfoPoints = []+ }+ "WrappedNumEq2")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 272 1 276 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 272 1 272 9+ , SrcSpan "tests/examples/DerivingVia.hs" 272 51 272 56+ , SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 3+ , SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 3+ , SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 50+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 11+ , SrcSpan "tests/examples/DerivingVia.hs" 272 16 272 17+ , SrcSpan "tests/examples/DerivingVia.hs" 272 22 272 23+ , SrcSpan "tests/examples/DerivingVia.hs" 272 24 272 26+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 50+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33+ , srcInfoPoints = []+ }+ "IsZero")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 35+ , SrcSpan "tests/examples/DerivingVia.hs" 272 49 272 50+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 49+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47+ , srcInfoPoints = []+ }+ "WrappedNumEq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 9+ , srcInfoPoints = []+ }+ "isZero"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 273 28 273 30 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 27+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25+ , srcInfoPoints = []+ }+ "WrappedNumEq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35+ , srcInfoPoints = []+ }+ "Bool")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 9+ , srcInfoPoints = []+ }+ "isZero")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 11+ , SrcSpan "tests/examples/DerivingVia.hs" 274 25 274 26+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23+ , srcInfoPoints = []+ }+ "WrappedNumEq"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 28 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 35+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30+ , srcInfoPoints = []+ }+ 0+ "0"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 276 1 280 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 9+ , SrcSpan "tests/examples/DerivingVia.hs" 276 43 276 48+ , SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 3+ , SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 3+ , SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 42+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 42+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26+ , srcInfoPoints = []+ }+ "IsZero")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 28+ , SrcSpan "tests/examples/DerivingVia.hs" 276 41 276 42+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39+ , srcInfoPoints = []+ }+ "WrappedShow")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 9+ , srcInfoPoints = []+ }+ "isZero"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 277 27 277 29 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24+ , srcInfoPoints = []+ }+ "WrappedShow")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34+ , srcInfoPoints = []+ }+ "Bool")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 9+ , srcInfoPoints = []+ }+ "isZero")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 11+ , SrcSpan "tests/examples/DerivingVia.hs" 278 24 278 25+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22+ , srcInfoPoints = []+ }+ "WrappedShow"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 27 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 41+ , srcInfoPoints = []+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31+ , srcInfoPoints = []+ }+ (String+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31+ , srcInfoPoints = []+ }+ "0"+ "0"))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34+ , srcInfoPoints = []+ }+ "==")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 278 35 278 39+ , srcInfoPoints = []+ }+ "show")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 278 40 278 41+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 280 1 284 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 9+ , SrcSpan "tests/examples/DerivingVia.hs" 280 52 280 57+ , SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 3+ , SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 3+ , SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 51+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 11+ , SrcSpan "tests/examples/DerivingVia.hs" 280 16 280 17+ , SrcSpan "tests/examples/DerivingVia.hs" 280 22 280 23+ , SrcSpan "tests/examples/DerivingVia.hs" 280 24 280 26+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 51+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33+ , srcInfoPoints = []+ }+ "IsZero")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 51+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 35+ , SrcSpan "tests/examples/DerivingVia.hs" 280 50 280 51+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 50+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48+ , srcInfoPoints = []+ }+ "WrappedNumEq2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 9+ , srcInfoPoints = []+ }+ "isZero"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 281 29 281 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26+ , srcInfoPoints = []+ }+ "WrappedNumEq2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36+ , srcInfoPoints = []+ }+ "Bool")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 9+ , srcInfoPoints = []+ }+ "isZero")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 11+ , SrcSpan "tests/examples/DerivingVia.hs" 282 26 282 27+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24+ , srcInfoPoints = []+ }+ "WrappedNumEq2"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 29 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 40+ , srcInfoPoints = []+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 35+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 282 30 282 31+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 282 32 282 33+ , srcInfoPoints = []+ }+ "+")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 282 34 282 35+ , srcInfoPoints = []+ }+ "a"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 1 286 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 284 13 284 14 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12+ , srcInfoPoints = []+ }+ "INT"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 18+ , srcInfoPoints = []+ }+ "INT")+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22+ , srcInfoPoints = []+ }+ "Int"))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 11 ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 12 285 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24+ , srcInfoPoints = []+ }+ "Show")))+ ]+ , Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 19 286 22+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 24+ , SrcSpan "tests/examples/DerivingVia.hs" 286 40 286 41+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 40+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36+ , srcInfoPoints = []+ }+ "WrappedNumEq")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40+ , srcInfoPoints = []+ }+ "Int")))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18+ , srcInfoPoints = []+ }+ "IsZero")))+ ]+ ]+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 288 14 288 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13+ , srcInfoPoints = []+ }+ "VOID"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 20+ , srcInfoPoints = []+ }+ "VOID")+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25+ , srcInfoPoints = []+ }+ "Void"))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 34 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 42 288 45+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 47+ , SrcSpan "tests/examples/DerivingVia.hs" 288 63 288 64+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 63+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58+ , srcInfoPoints = []+ }+ "WrappedShow")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63+ , srcInfoPoints = []+ }+ "Void")))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41+ , srcInfoPoints = []+ }+ "IsZero")))+ ]+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 1 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 1 293 6+ , SrcSpan "tests/examples/DerivingVia.hs" 293 38 293 43+ , SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 3+ , SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 3+ , SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 0+ ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16+ , srcInfoPoints = []+ }+ "Bifunctor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18+ , srcInfoPoints = []+ }+ "p"))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 37+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35+ , srcInfoPoints = []+ }+ "Biapplicative"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37+ , srcInfoPoints = []+ }+ "p")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 9+ , srcInfoPoints = []+ }+ "bipure"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 294 15 294 17 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 294 20 294 22 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19+ , srcInfoPoints = []+ }+ "b"))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 26+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28+ , srcInfoPoints = []+ }+ "b"))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 11+ , srcInfoPoints = []+ }+ "biliftA2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 8 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 298 5 298 7 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 9+ , SrcSpan "tests/examples/DerivingVia.hs" 297 22 297 23+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 12 297 14 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 297 18 297 20 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16+ , srcInfoPoints = []+ }+ "b"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22+ , srcInfoPoints = []+ }+ "c")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 8 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 299 5 299 7 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 9+ , SrcSpan "tests/examples/DerivingVia.hs" 298 23 298 24+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 298 12 298 14 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11+ , srcInfoPoints = []+ }+ "a'"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 298 18 298 20 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17+ , srcInfoPoints = []+ }+ "b'"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23+ , srcInfoPoints = []+ }+ "c'")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 300 5 300 7 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 11+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14+ , srcInfoPoints = []+ }+ "a'")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 8 301 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 301 5 301 7 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 11+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 300 8 300 9+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 10 300 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 300 10 300 11+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14+ , srcInfoPoints = []+ }+ "b'")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 14+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 11+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 301 8 301 9+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 10 301 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 301 10 301 11+ , srcInfoPoints = []+ }+ "c")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14+ , srcInfoPoints = []+ }+ "c'"))))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 303 1 309 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 9+ , SrcSpan "tests/examples/DerivingVia.hs" 303 28 303 33+ , SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 3+ , SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 3+ , SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23+ , srcInfoPoints = []+ }+ "Biapplicative")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+ , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+ , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+ , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+ , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25+ , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26+ , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27+ ]+ }+ Boxed+ 2)))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9+ , srcInfoPoints = []+ }+ "bipure"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 11 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+ , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+ , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+ , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+ , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13+ , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14+ , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15+ ]+ }+ Boxed+ 2))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 11+ , srcInfoPoints = []+ }+ "biliftA2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13+ , srcInfoPoints = []+ }+ "f")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16+ , srcInfoPoints = []+ }+ "f'")+ , PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 18+ , SrcSpan "tests/examples/DerivingVia.hs" 306 19 306 20+ , SrcSpan "tests/examples/DerivingVia.hs" 306 23 306 24+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23+ , srcInfoPoints = []+ }+ "a'")+ ]+ , PTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 26+ , SrcSpan "tests/examples/DerivingVia.hs" 306 27 306 28+ , SrcSpan "tests/examples/DerivingVia.hs" 306 31 306 32+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27+ , srcInfoPoints = []+ }+ "b")+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31+ , srcInfoPoints = []+ }+ "b'")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 306 33 307 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 306 33 306 34 ]+ }+ (Tuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 6+ , SrcSpan "tests/examples/DerivingVia.hs" 307 11 307 12+ , SrcSpan "tests/examples/DerivingVia.hs" 307 21 307 22+ ]+ }+ Boxed+ [ App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 11+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 9+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 6 307 7+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 8 307 9+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 10 307 11+ , srcInfoPoints = []+ }+ "b")))+ , App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 21+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 13 307 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 13 307 15+ , srcInfoPoints = []+ }+ "f'")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 16 307 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 16 307 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 16 307 18+ , srcInfoPoints = []+ }+ "a'"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 307 19 307 21+ , srcInfoPoints = []+ }+ "b'")))+ ]))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 1 310 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 309 25 309 26 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 24+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 22+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 20+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18+ , srcInfoPoints = []+ }+ "WrapBiapp"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20+ , srcInfoPoints = []+ }+ "p")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24+ , srcInfoPoints = []+ }+ "b")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 35+ , srcInfoPoints = []+ }+ "WrapBiap")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 37+ , SrcSpan "tests/examples/DerivingVia.hs" 309 42 309 43+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 42+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 40+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42+ , srcInfoPoints = []+ }+ "b")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 11+ , SrcSpan "tests/examples/DerivingVia.hs" 310 20 310 21+ , SrcSpan "tests/examples/DerivingVia.hs" 310 30 310 31+ , SrcSpan "tests/examples/DerivingVia.hs" 310 45 310 46+ , SrcSpan "tests/examples/DerivingVia.hs" 310 49 310 50+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 12 310 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30+ , srcInfoPoints = []+ }+ "Bifunctor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45+ , srcInfoPoints = []+ }+ "Biapplicative")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49+ , srcInfoPoints = []+ }+ "Eq")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 312 1 321 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 312 1 312 9+ , SrcSpan "tests/examples/DerivingVia.hs" 312 67 312 72+ , SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 3+ , SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 3+ , SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 3+ , SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 3+ , SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 3+ , SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 3+ , SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 3+ , SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 66+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 11+ , SrcSpan "tests/examples/DerivingVia.hs" 312 26 312 27+ , SrcSpan "tests/examples/DerivingVia.hs" 312 33 312 34+ , SrcSpan "tests/examples/DerivingVia.hs" 312 40 312 41+ , SrcSpan "tests/examples/DerivingVia.hs" 312 42 312 44+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24+ , srcInfoPoints = []+ }+ "Biapplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26+ , srcInfoPoints = []+ }+ "p")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40+ , srcInfoPoints = []+ }+ "b")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 66+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48+ , srcInfoPoints = []+ }+ "Num")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 66+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 50+ , SrcSpan "tests/examples/DerivingVia.hs" 312 65 312 66+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 65+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 63+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59+ , srcInfoPoints = []+ }+ "WrapBiapp")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65+ , srcInfoPoints = []+ }+ "b"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 4+ , SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5+ , SrcSpan "tests/examples/DerivingVia.hs" 313 5 313 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5+ , srcInfoPoints = []+ }+ "+"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17+ , srcInfoPoints = []+ }+ "biliftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19+ , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+ , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19+ , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+ , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20+ , srcInfoPoints = []+ }+ "+"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23+ , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+ , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23+ , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+ , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24+ , srcInfoPoints = []+ }+ "+")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 4+ , SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5+ , SrcSpan "tests/examples/DerivingVia.hs" 314 5 314 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5+ , srcInfoPoints = []+ }+ "-"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17+ , srcInfoPoints = []+ }+ "biliftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19+ , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+ , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19+ , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+ , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20+ , srcInfoPoints = []+ }+ "*"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23+ , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+ , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23+ , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+ , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24+ , srcInfoPoints = []+ }+ "*")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 4+ , SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5+ , SrcSpan "tests/examples/DerivingVia.hs" 315 5 315 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5+ , srcInfoPoints = []+ }+ "*"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 25+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17+ , srcInfoPoints = []+ }+ "biliftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19+ , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+ , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19+ , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+ , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20+ , srcInfoPoints = []+ }+ "*"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23+ , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+ , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23+ , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+ , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24+ , srcInfoPoints = []+ }+ "*")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9+ , srcInfoPoints = []+ }+ "negate"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17+ , srcInfoPoints = []+ }+ "bimap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24+ , srcInfoPoints = []+ }+ "negate"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31+ , srcInfoPoints = []+ }+ "negate")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6+ , srcInfoPoints = []+ }+ "abs"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 8 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 22+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14+ , srcInfoPoints = []+ }+ "bimap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18+ , srcInfoPoints = []+ }+ "abs"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22+ , srcInfoPoints = []+ }+ "abs")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9+ , srcInfoPoints = []+ }+ "signum"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 31+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 24+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17+ , srcInfoPoints = []+ }+ "bimap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24+ , srcInfoPoints = []+ }+ "signum"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31+ , srcInfoPoints = []+ }+ "signum")))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 14+ , srcInfoPoints = []+ }+ "fromInteger")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16+ , srcInfoPoints = []+ }+ "n")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 18 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 55+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 319 19 319 30+ , srcInfoPoints = []+ }+ "fromInteger")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 319 31 319 32+ , srcInfoPoints = []+ }+ "n"))))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34+ , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+ , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34+ , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+ , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40+ , srcInfoPoints = []+ }+ "bipure")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 55+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 319 42 319 53+ , srcInfoPoints = []+ }+ "fromInteger")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 319 54 319 55+ , srcInfoPoints = []+ }+ "n"))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 1 322 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 321 14 321 15 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 8+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13+ , srcInfoPoints = []+ }+ "INT2"))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 20+ , srcInfoPoints = []+ }+ "INT2")+ [ TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 22+ , SrcSpan "tests/examples/DerivingVia.hs" 321 25 321 26+ , SrcSpan "tests/examples/DerivingVia.hs" 321 30 321 31+ ]+ }+ Boxed+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30+ , srcInfoPoints = []+ }+ "Int"))+ ]+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 19 322 22+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 24+ , SrcSpan "tests/examples/DerivingVia.hs" 322 61 322 62+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37+ , srcInfoPoints = []+ }+ "WrappedNumEq2")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 39+ , SrcSpan "tests/examples/DerivingVia.hs" 322 60 322 61+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 60+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 56+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 52+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 39 322 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 39 322 48+ , srcInfoPoints = []+ }+ "WrapBiapp")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 49 322 52+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 322 49 322 50+ , SrcSpan+ "tests/examples/DerivingVia.hs" 322 50 322 51+ , SrcSpan+ "tests/examples/DerivingVia.hs" 322 51 322 52+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 49 322 52+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 322 49 322 50+ , SrcSpan+ "tests/examples/DerivingVia.hs" 322 50 322 51+ , SrcSpan+ "tests/examples/DerivingVia.hs" 322 51 322 52+ ]+ }+ (TupleCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 49 322 52+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs"+ 322+ 49+ 322+ 50+ , SrcSpan+ "tests/examples/DerivingVia.hs"+ 322+ 50+ 322+ 51+ , SrcSpan+ "tests/examples/DerivingVia.hs"+ 322+ 51+ 322+ 52+ ]+ }+ Boxed+ 2))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 322 53 322 56+ , srcInfoPoints = []+ }+ "Int"))))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60+ , srcInfoPoints = []+ }+ "Int")))))))))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18+ , srcInfoPoints = []+ }+ "IsZero")))+ ]+ ]+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 1 328 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 1 327 6+ , SrcSpan "tests/examples/DerivingVia.hs" 327 32 327 37+ , SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 3+ , SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 0+ ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15+ , srcInfoPoints = []+ }+ "a"))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 31+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29+ , srcInfoPoints = []+ }+ "MonoidNull"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 7+ , srcInfoPoints = []+ }+ "null"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 328 13 328 15 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20+ , srcInfoPoints = []+ }+ "Bool")))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 330 22 330 23 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 21+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19+ , srcInfoPoints = []+ }+ "WrpMonNull"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 27+ , srcInfoPoints = []+ }+ "WRM")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 38+ , SrcSpan "tests/examples/DerivingVia.hs" 330 39 330 40+ , SrcSpan "tests/examples/DerivingVia.hs" 330 42 330 43+ , SrcSpan "tests/examples/DerivingVia.hs" 330 53 330 54+ , SrcSpan "tests/examples/DerivingVia.hs" 330 61 330 62+ ]+ }+ Nothing+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42+ , srcInfoPoints = []+ }+ "Eq")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53+ , srcInfoPoints = []+ }+ "Semigroup")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61+ , srcInfoPoints = []+ }+ "Monoid")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 332 1 336 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 332 1 332 9+ , SrcSpan "tests/examples/DerivingVia.hs" 332 56 332 61+ , SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 3+ , SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 3+ , SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 55+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 11+ , SrcSpan "tests/examples/DerivingVia.hs" 332 15 332 16+ , SrcSpan "tests/examples/DerivingVia.hs" 332 25 332 26+ , SrcSpan "tests/examples/DerivingVia.hs" 332 27 332 29+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23+ , srcInfoPoints = []+ }+ "Monoid")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 55+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40+ , srcInfoPoints = []+ }+ "MonoidNull")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 42+ , SrcSpan "tests/examples/DerivingVia.hs" 332 54 332 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52+ , srcInfoPoints = []+ }+ "WrpMonNull")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 7+ , srcInfoPoints = []+ }+ "null"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 333 24 333 26 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21+ , srcInfoPoints = []+ }+ "WrpMonNull")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31+ , srcInfoPoints = []+ }+ "Bool")))))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7+ , srcInfoPoints = []+ }+ "null"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 9 ]+ }+ (RightSection+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 11+ , SrcSpan "tests/examples/DerivingVia.hs" 334 20 334 21+ ]+ }+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13+ , srcInfoPoints = []+ }+ "==")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20+ , srcInfoPoints = []+ }+ "mempty")))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 9+ , SrcSpan "tests/examples/DerivingVia.hs" 336 31 336 39+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 10 336 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 15+ , SrcSpan "tests/examples/DerivingVia.hs" 336 29 336 30+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25+ , srcInfoPoints = []+ }+ "WrpMonNull")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29+ , srcInfoPoints = []+ }+ "Any")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50+ , srcInfoPoints = []+ }+ "MonoidNull")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54+ , srcInfoPoints = []+ }+ "Any")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 9+ , SrcSpan "tests/examples/DerivingVia.hs" 337 31 337 39+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 10 337 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+ , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+ , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15+ , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16+ ]+ })))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50+ , srcInfoPoints = []+ }+ "MonoidNull")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+ , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+ , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52+ , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53+ ]+ })))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 9+ , SrcSpan "tests/examples/DerivingVia.hs" 338 31 338 39+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 10 338 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22+ , srcInfoPoints = []+ }+ "Ordering")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50+ , srcInfoPoints = []+ }+ "MonoidNull")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59+ , srcInfoPoints = []+ }+ "Ordering")))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 1 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 345 1 345 6+ , SrcSpan "tests/examples/DerivingVia.hs" 345 17 345 22+ , SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 3+ , SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 3+ , SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 3+ , SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 16+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14+ , srcInfoPoints = []+ }+ "Lattice"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16+ , srcInfoPoints = []+ }+ "a")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 6+ , srcInfoPoints = []+ }+ "sup"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 346 14 346 16 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 346 19 346 21 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23+ , srcInfoPoints = []+ }+ "a")))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 4+ , SrcSpan "tests/examples/DerivingVia.hs" 347 4 347 7+ , SrcSpan "tests/examples/DerivingVia.hs" 347 7 347 8+ ]+ }+ ".>="+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 14 347 16 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 347 19 347 21 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26+ , srcInfoPoints = []+ }+ "Bool"))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 4+ , SrcSpan "tests/examples/DerivingVia.hs" 348 4 348 6+ , SrcSpan "tests/examples/DerivingVia.hs" 348 6 348 7+ ]+ }+ ".>"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 14 348 16 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 348 19 348 21 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18+ , srcInfoPoints = []+ }+ "a"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26+ , srcInfoPoints = []+ }+ "Bool"))))))+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 1 351 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 350 19 350 20 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16+ , srcInfoPoints = []+ }+ "WrapOrd"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 31+ , srcInfoPoints = []+ }+ "WrappedOrd")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 11+ , SrcSpan "tests/examples/DerivingVia.hs" 351 20 351 21+ , SrcSpan "tests/examples/DerivingVia.hs" 351 23 351 24+ , SrcSpan "tests/examples/DerivingVia.hs" 351 28 351 29+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 12 351 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23+ , srcInfoPoints = []+ }+ "Eq")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28+ , srcInfoPoints = []+ }+ "Ord")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 353 1 358 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 1 353 9+ , SrcSpan "tests/examples/DerivingVia.hs" 353 39 353 44+ , SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 3+ , SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 3+ , SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 3+ , SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 38+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 38+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 28+ , SrcSpan "tests/examples/DerivingVia.hs" 353 37 353 38+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35+ , srcInfoPoints = []+ }+ "WrapOrd")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6+ , srcInfoPoints = []+ }+ "sup"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14+ , srcInfoPoints = []+ }+ "max"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 4+ , SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7+ , SrcSpan "tests/examples/DerivingVia.hs" 355 7 355 8+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7+ , srcInfoPoints = []+ }+ ".>="))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12+ , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+ , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12+ , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+ , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14+ , srcInfoPoints = []+ }+ ">="))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 4+ , SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6+ , SrcSpan "tests/examples/DerivingVia.hs" 356 6 356 7+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6+ , srcInfoPoints = []+ }+ ".>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 10 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12+ , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+ , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12+ , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+ , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13+ , srcInfoPoints = []+ }+ ">"))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 9+ , SrcSpan "tests/examples/DerivingVia.hs" 358 21 358 29+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 10 358 13+ , srcInfoPoints = []+ }+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 15+ , SrcSpan "tests/examples/DerivingVia.hs" 358 16 358 17+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16+ , srcInfoPoints = []+ }+ "a")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 59+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35+ , srcInfoPoints = []+ }+ "a"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 59+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 57+ , SrcSpan "tests/examples/DerivingVia.hs" 358 58 358 59+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58+ , srcInfoPoints = []+ }+ "a")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 9+ , SrcSpan "tests/examples/DerivingVia.hs" 359 21 359 29+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 10 359 13+ , srcInfoPoints = []+ }+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 15+ , SrcSpan "tests/examples/DerivingVia.hs" 359 16 359 17+ , SrcSpan "tests/examples/DerivingVia.hs" 359 19 359 20+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19+ , srcInfoPoints = []+ }+ "b")+ ])))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 62+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 31+ , SrcSpan "tests/examples/DerivingVia.hs" 359 36 359 37+ , SrcSpan "tests/examples/DerivingVia.hs" 359 43 359 44+ , SrcSpan "tests/examples/DerivingVia.hs" 359 45 359 47+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36+ , srcInfoPoints = []+ }+ "a")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43+ , srcInfoPoints = []+ }+ "b")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 62+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 57+ , SrcSpan "tests/examples/DerivingVia.hs" 359 58 359 59+ , SrcSpan "tests/examples/DerivingVia.hs" 359 61 359 62+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58+ , srcInfoPoints = []+ }+ "a")+ , TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61+ , srcInfoPoints = []+ }+ "b")+ ])))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 9+ , SrcSpan "tests/examples/DerivingVia.hs" 361 19 361 27+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 10 361 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18+ , srcInfoPoints = []+ }+ "Bool")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40+ , srcInfoPoints = []+ }+ "Bool")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 9+ , SrcSpan "tests/examples/DerivingVia.hs" 363 19 363 27+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 10 363 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18+ , srcInfoPoints = []+ }+ "Char")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40+ , srcInfoPoints = []+ }+ "Char")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 9+ , SrcSpan "tests/examples/DerivingVia.hs" 365 18 365 26+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 10 365 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17+ , srcInfoPoints = []+ }+ "Int")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38+ , srcInfoPoints = []+ }+ "Int")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 46+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 9+ , SrcSpan "tests/examples/DerivingVia.hs" 367 22 367 30+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 10 367 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21+ , srcInfoPoints = []+ }+ "Integer")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46+ , srcInfoPoints = []+ }+ "Integer")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 42+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 9+ , SrcSpan "tests/examples/DerivingVia.hs" 369 20 369 28+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 10 369 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19+ , srcInfoPoints = []+ }+ "Float")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42+ , srcInfoPoints = []+ }+ "Float")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 9+ , SrcSpan "tests/examples/DerivingVia.hs" 371 21 371 29+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 10 371 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20+ , srcInfoPoints = []+ }+ "Double")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44+ , srcInfoPoints = []+ }+ "Double")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 9+ , SrcSpan "tests/examples/DerivingVia.hs" 373 23 373 31+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 10 373 13+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22+ , srcInfoPoints = []+ }+ "Rational")))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39+ , srcInfoPoints = []+ }+ "Lattice")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48+ , srcInfoPoints = []+ }+ "Rational")))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 1 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 1 380 6+ , SrcSpan "tests/examples/DerivingVia.hs" 380 31 380 36+ , SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 3+ , SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 3+ , SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 3+ , SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 3+ , SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 3+ , SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 3+ , SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 0+ ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14+ , srcInfoPoints = []+ }+ "Functor")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16+ , srcInfoPoints = []+ }+ "f"))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 30+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28+ , srcInfoPoints = []+ }+ "Additive"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30+ , srcInfoPoints = []+ }+ "f")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 7+ , srcInfoPoints = []+ }+ "zero"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 23+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 381 11 381 14+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16+ , srcInfoPoints = []+ }+ "a"))))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 23+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23+ , srcInfoPoints = []+ }+ "a")))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 4+ , SrcSpan "tests/examples/DerivingVia.hs" 382 4 382 7+ , SrcSpan "tests/examples/DerivingVia.hs" 382 7 382 8+ ]+ }+ "^+^"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 38+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 382 12 382 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 25 382 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 382 32 382 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 4+ , SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7+ , SrcSpan "tests/examples/DerivingVia.hs" 383 7 383 8+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7+ , srcInfoPoints = []+ }+ "^+^"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 10 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17+ , srcInfoPoints = []+ }+ "liftU2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19+ , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+ , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19+ , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+ , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20+ , srcInfoPoints = []+ }+ "+")))))+ Nothing)+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 4+ , SrcSpan "tests/examples/DerivingVia.hs" 384 4 384 7+ , SrcSpan "tests/examples/DerivingVia.hs" 384 7 384 8+ ]+ }+ "^-^"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 38+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 384 12 384 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 25 384 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 384 32 384 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 38+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4+ , srcInfoPoints = []+ }+ "x"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 5 385 8+ , srcInfoPoints = []+ }+ "^-^")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10+ , srcInfoPoints = []+ }+ "y")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 12 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18+ , srcInfoPoints = []+ }+ "^+^")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 19 385 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 19 385 23+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 24 385 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 24 385 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 24 385 30+ , srcInfoPoints = []+ }+ "negate"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 385 31 385 32+ , srcInfoPoints = []+ }+ "y"))))))+ Nothing+ ])+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 9+ , srcInfoPoints = []+ }+ "liftU2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 27 386 29 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 14+ , SrcSpan "tests/examples/DerivingVia.hs" 386 25 386 26+ ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 16 386 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 21 386 23 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20+ , srcInfoPoints = []+ }+ "a"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25+ , srcInfoPoints = []+ }+ "a")))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 34 386 36 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 33+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 386 41 386 43 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 40+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 47+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47+ , srcInfoPoints = []+ }+ "a")))))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 388 1 395 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 9+ , SrcSpan "tests/examples/DerivingVia.hs" 388 22 388 27+ , SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 3+ , SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 3+ , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+ , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+ , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20+ , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21+ ]+ })))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7+ , srcInfoPoints = []+ }+ "zero"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 9 ]+ }+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 11+ , SrcSpan "tests/examples/DerivingVia.hs" 389 11 389 12+ ]+ }+ []))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11+ , srcInfoPoints = []+ }+ "f")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 13 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16+ , srcInfoPoints = []+ }+ "go"))))+ (Just+ (BDecls+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 5+ , SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 5+ , SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 5+ , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0+ ]+ }+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 7+ , srcInfoPoints = []+ }+ "go")+ [ PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 8 391 14+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 391 8 391 9+ , SrcSpan+ "tests/examples/DerivingVia.hs" 391 13 391 14+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 9 391 13+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 9 391 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 9+ 391+ 10+ , srcInfoPoints = []+ }+ "x"))+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 10+ 391+ 11+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 10+ 391+ 11+ , srcInfoPoints = []+ }))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 11+ 391+ 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 11+ 391+ 13+ , srcInfoPoints = []+ }+ "xs")))+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 15 391 21+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 391 15 391 16+ , SrcSpan+ "tests/examples/DerivingVia.hs" 391 20 391 21+ ]+ }+ (PInfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 16 391 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 16+ 391+ 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 16+ 391+ 17+ , srcInfoPoints = []+ }+ "y"))+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 17+ 391+ 18+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 17+ 391+ 18+ , srcInfoPoints = []+ }))+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 18+ 391+ 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 18+ 391+ 20+ , srcInfoPoints = []+ }+ "ys")))+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 391 22 391 40+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 391 22 391 23+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 24 391 40+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 24 391 29+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 24+ 391+ 27+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 24+ 391+ 25+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 24+ 391+ 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 24+ 391+ 25+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 26+ 391+ 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 26+ 391+ 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 26+ 391+ 27+ , srcInfoPoints = []+ }+ "x"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 28+ 391+ 29+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 28+ 391+ 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 28+ 391+ 29+ , srcInfoPoints = []+ }+ "y"))))+ (QConOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 30 391 31+ , srcInfoPoints = []+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 30+ 391+ 31+ , srcInfoPoints = []+ }+ (Cons+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 30+ 391+ 31+ , srcInfoPoints = []+ })))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 391 32 391 40+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 32+ 391+ 37+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 32+ 391+ 34+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 32+ 391+ 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 32+ 391+ 34+ , srcInfoPoints = []+ }+ "go")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 35+ 391+ 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 35+ 391+ 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 35+ 391+ 37+ , srcInfoPoints = []+ }+ "xs"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 38+ 391+ 40+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 38+ 391+ 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 391+ 38+ 391+ 40+ , srcInfoPoints = []+ }+ "ys"))))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 7+ , srcInfoPoints = []+ }+ "go")+ [ PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 392 8 392 10+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 392 8 392 9+ , SrcSpan+ "tests/examples/DerivingVia.hs" 392 9 392 10+ ]+ }+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 392 11 392 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 392 11 392 13+ , srcInfoPoints = []+ }+ "ys")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 392 14 392 18+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 392 14 392 15+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 392 16 392 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 392 16 392 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 392+ 16+ 392+ 18+ , srcInfoPoints = []+ }+ "ys"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 7+ , srcInfoPoints = []+ }+ "go")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 393 8 393 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 393 8 393 10+ , srcInfoPoints = []+ }+ "xs")+ , PList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 393 11 393 13+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 393 11 393 12+ , SrcSpan+ "tests/examples/DerivingVia.hs" 393 12 393 13+ ]+ }+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 393 14 393 18+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/DerivingVia.hs" 393 14 393 15+ ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 393 16 393 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 393 16 393 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 393+ 16+ 393+ 18+ , srcInfoPoints = []+ }+ "xs"))))+ Nothing+ ]+ ]))+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 395 1 401 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 9+ , SrcSpan "tests/examples/DerivingVia.hs" 395 25 395 30+ , SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 3+ , SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 3+ , SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 3+ , SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 3+ , SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24+ , srcInfoPoints = []+ }+ "Maybe")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7+ , srcInfoPoints = []+ }+ "zero"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 9 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17+ , srcInfoPoints = []+ }+ "Nothing"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11+ , srcInfoPoints = []+ }+ "f")+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 13+ , SrcSpan "tests/examples/DerivingVia.hs" 397 19 397 20+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19+ , srcInfoPoints = []+ }+ "a")+ ])+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 22+ , SrcSpan "tests/examples/DerivingVia.hs" 397 28 397 29+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26+ , srcInfoPoints = []+ }+ "Just"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28+ , srcInfoPoints = []+ }+ "b")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 31 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 44+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36+ , srcInfoPoints = []+ }+ "Just")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 38+ , SrcSpan "tests/examples/DerivingVia.hs" 397 43 397 44+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 43+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 41+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 38 397 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 38 397 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 397+ 38+ 397+ 39+ , srcInfoPoints = []+ }+ "f")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 40 397 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 40 397 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 397+ 40+ 397+ 41+ , srcInfoPoints = []+ }+ "a"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 397 42 397 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 42 397 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 397 42 397 43+ , srcInfoPoints = []+ }+ "b")))))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 10 398 11+ , srcInfoPoints = []+ }+ , PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19+ , srcInfoPoints = []+ }+ "Nothing"))+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22+ , srcInfoPoints = []+ }+ "ys")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 24 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27+ , srcInfoPoints = []+ }+ "ys"))))+ Nothing+ , Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 10 399 11+ , srcInfoPoints = []+ }+ , PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14+ , srcInfoPoints = []+ }+ "xs")+ , PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22+ , srcInfoPoints = []+ }+ "Nothing"))+ []+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 24 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27+ , srcInfoPoints = []+ }+ "xs"))))+ Nothing+ ])+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 401 1 405 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 9+ , SrcSpan "tests/examples/DerivingVia.hs" 401 56 401 61+ , SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 3+ , SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 3+ , SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 55+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23+ , srcInfoPoints = []+ }+ "f"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 55+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35+ , srcInfoPoints = []+ }+ "Additive")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 55+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 37+ , SrcSpan "tests/examples/DerivingVia.hs" 401 54 401 55+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 54+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54+ , srcInfoPoints = []+ }+ "f"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7+ , srcInfoPoints = []+ }+ "zero"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 18+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16+ , srcInfoPoints = []+ }+ "pure")))+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18+ , srcInfoPoints = []+ }+ 0+ "0"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9+ , srcInfoPoints = []+ }+ "liftU2"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 11 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18+ , srcInfoPoints = []+ }+ "liftA2"))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 9+ , SrcSpan "tests/examples/DerivingVia.hs" 405 41 405 49+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 10 405 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 15+ , SrcSpan "tests/examples/DerivingVia.hs" 405 39 405 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 32+ , SrcSpan "tests/examples/DerivingVia.hs" 405 38 405 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+ , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+ , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+ , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+ , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33+ , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35+ , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36+ ]+ })))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38+ , srcInfoPoints = []+ }+ "a"))))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58+ , srcInfoPoints = []+ }+ "Additive")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 60+ , SrcSpan "tests/examples/DerivingVia.hs" 405 66 405 67+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 66+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+ , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+ , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+ , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+ , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61+ , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63+ , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64+ ]+ })))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66+ , srcInfoPoints = []+ }+ "a"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 66+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 9+ , SrcSpan "tests/examples/DerivingVia.hs" 406 41 406 49+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 10 406 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 15+ , SrcSpan "tests/examples/DerivingVia.hs" 406 38 406 39+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 38+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38+ , srcInfoPoints = []+ }+ "Complex")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66+ , srcInfoPoints = []+ }+ "Complex")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 67+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 9+ , SrcSpan "tests/examples/DerivingVia.hs" 407 41 407 49+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 10 407 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 15+ , SrcSpan "tests/examples/DerivingVia.hs" 407 39 407 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30+ , srcInfoPoints = []+ }+ "WrapApplicative")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39+ , srcInfoPoints = []+ }+ "Identity")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67+ , srcInfoPoints = []+ }+ "Identity")))))+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 409 1 413 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 409 1 409 9+ , SrcSpan "tests/examples/DerivingVia.hs" 409 27 409 32+ , SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 3+ , SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 3+ , SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18+ , srcInfoPoints = []+ }+ "Additive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26+ , srcInfoPoints = []+ }+ "ZipList")))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7+ , srcInfoPoints = []+ }+ "zero"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 20+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17+ , srcInfoPoints = []+ }+ "ZipList")))+ (List+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 19+ , SrcSpan "tests/examples/DerivingVia.hs" 410 19 410 20+ ]+ }+ [])))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 9+ , srcInfoPoints = []+ }+ "liftU2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11+ , srcInfoPoints = []+ }+ "f")+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 13+ , SrcSpan "tests/examples/DerivingVia.hs" 411 23 411 24+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20+ , srcInfoPoints = []+ }+ "ZipList"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23+ , srcInfoPoints = []+ }+ "xs")+ ])+ , PParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 26+ , SrcSpan "tests/examples/DerivingVia.hs" 411 36 411 37+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33+ , srcInfoPoints = []+ }+ "ZipList"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36+ , srcInfoPoints = []+ }+ "ys")+ ])+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 39 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 64+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47+ , srcInfoPoints = []+ }+ "ZipList")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 64+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 49+ , SrcSpan "tests/examples/DerivingVia.hs" 411 63 411 64+ ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 63+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 60+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 49 411 57+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 49 411 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 49+ 411+ 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 49+ 411+ 55+ , srcInfoPoints = []+ }+ "liftU2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 56 411 57+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 56+ 411+ 57+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 56+ 411+ 57+ , srcInfoPoints = []+ }+ "f"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 58 411 60+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 58 411 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs"+ 411+ 58+ 411+ 60+ , srcInfoPoints = []+ }+ "xs"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 411 61 411 63+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 61 411 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 411 61 411 63+ , srcInfoPoints = []+ }+ "ys")))))))+ Nothing+ ])+ ])+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 1 419 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 6+ , SrcSpan "tests/examples/DerivingVia.hs" 413 37 413 42+ , SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 3+ , SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 3+ , SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 3+ , SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 3+ , SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 3+ , SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 0+ ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15+ , srcInfoPoints = []+ }+ "Additive")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 17+ , SrcSpan "tests/examples/DerivingVia.hs" 413 23 413 24+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 23+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21+ , srcInfoPoints = []+ }+ "Diff")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23+ , srcInfoPoints = []+ }+ "p"))))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 36+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34+ , srcInfoPoints = []+ }+ "Affine"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36+ , srcInfoPoints = []+ }+ "p")))+ []+ (Just+ [ ClsTyFam+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 7 ]+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 14+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12+ , srcInfoPoints = []+ }+ "Diff"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14+ , srcInfoPoints = []+ }+ "p")))+ (Just+ (KindSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 17 ]+ }+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 414 23 414 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22+ , srcInfoPoints = []+ }+ "Type")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30+ , srcInfoPoints = []+ }+ "Type"))))))+ Nothing+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 4+ , SrcSpan "tests/examples/DerivingVia.hs" 416 4 416 7+ , SrcSpan "tests/examples/DerivingVia.hs" 416 7 416 8+ ]+ }+ ".-."+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 416 12 416 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 25 416 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 416 32 416 34 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 31+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 416 35 416 39+ , srcInfoPoints = []+ }+ "Diff")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 4+ , SrcSpan "tests/examples/DerivingVia.hs" 417 4 417 7+ , SrcSpan "tests/examples/DerivingVia.hs" 417 7 417 8+ ]+ }+ ".+^"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 417 12 417 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 25 417 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 417 37 417 39 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 417 28 417 32+ , srcInfoPoints = []+ }+ "Diff")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 4+ , SrcSpan "tests/examples/DerivingVia.hs" 418 4 418 7+ , SrcSpan "tests/examples/DerivingVia.hs" 418 7 418 8+ ]+ }+ ".-^"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 43+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 418 12 418 15+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17+ , srcInfoPoints = []+ }+ "a"))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 25 418 27 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 24+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24+ , srcInfoPoints = []+ }+ "a")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 43+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 418 37 418 39 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 36+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 34+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 418 28 418 32+ , srcInfoPoints = []+ }+ "Diff")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34+ , srcInfoPoints = []+ }+ "p")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41+ , srcInfoPoints = []+ }+ "p"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43+ , srcInfoPoints = []+ }+ "a")))))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4+ , srcInfoPoints = []+ }+ "p"))+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 5 419 8+ , srcInfoPoints = []+ }+ ".-^")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10+ , srcInfoPoints = []+ }+ "v")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 12 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 32+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14+ , srcInfoPoints = []+ }+ "p")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18+ , srcInfoPoints = []+ }+ ".+^")))+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 32+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 30+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 19 419 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 19 419 23+ , srcInfoPoints = []+ }+ "fmap")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 24 419 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 24 419 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 24 419 30+ , srcInfoPoints = []+ }+ "negate"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 419 31 419 32+ , srcInfoPoints = []+ }+ "v"))))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 425 26 425 27 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 25+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 23+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21+ , srcInfoPoints = []+ }+ "WrapAdditive"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23+ , srcInfoPoints = []+ }+ "f")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 43+ , srcInfoPoints = []+ }+ "WrappedAdditive")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 49+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 45+ , SrcSpan "tests/examples/DerivingVia.hs" 425 48 425 49+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 48+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 427 1 435 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 1 427 9+ , SrcSpan "tests/examples/DerivingVia.hs" 427 48 427 53+ , SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 3+ , SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 3+ , SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 3+ , SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 3+ , SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 47+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18+ , srcInfoPoints = []+ }+ "Additive")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20+ , srcInfoPoints = []+ }+ "f"))))))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 47+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30+ , srcInfoPoints = []+ }+ "Affine")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 31 427 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 427 31 427 32+ , SrcSpan "tests/examples/DerivingVia.hs" 427 46 427 47+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 46+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 45 427 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 427 45 427 46+ , srcInfoPoints = []+ }+ "f"))))))+ (Just+ [ InsType+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 7+ , SrcSpan "tests/examples/DerivingVia.hs" 428 30 428 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 29+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12+ , srcInfoPoints = []+ }+ "Diff")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 13 428 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 428 13 428 14+ , SrcSpan "tests/examples/DerivingVia.hs" 428 28 428 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 27 428 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 27 428 28+ , srcInfoPoints = []+ }+ "f")))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 32 428 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 428 32 428 33+ , srcInfoPoints = []+ }+ "f"))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 18+ , srcInfoPoints = []+ }+ "WrappedAdditive"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 19 430 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 19 430 20+ , srcInfoPoints = []+ }+ "a")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 21 430 24+ , srcInfoPoints = []+ }+ ".-.")+ [ PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 40+ , srcInfoPoints = []+ }+ "WrappedAdditive"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 41 430 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 41 430 42+ , srcInfoPoints = []+ }+ "b")+ ]+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 43 430 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 430 43 430 44 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 52+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50+ , srcInfoPoints = []+ }+ "^-^")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52+ , srcInfoPoints = []+ }+ "b")))))+ Nothing+ ])+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 18+ , srcInfoPoints = []+ }+ "WrappedAdditive"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 19 431 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 19 431 20+ , srcInfoPoints = []+ }+ "a")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 21 431 24+ , srcInfoPoints = []+ }+ ".+^")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 25 431 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 25 431 26+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 27 431 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 431 27 431 28 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 54+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44+ , srcInfoPoints = []+ }+ "WrappedAdditive")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 45 431 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 431 45 431 46+ , SrcSpan "tests/examples/DerivingVia.hs" 431 53 431 54+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 46 431 53+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 46 431 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 46 431 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 46 431 47+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 48 431 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 48 431 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 48 431 51+ , srcInfoPoints = []+ }+ "^+^")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 431 52 431 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 52 431 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 431 52 431 53+ , srcInfoPoints = []+ }+ "b")))))))+ Nothing+ ])+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54+ , srcInfoPoints = []+ }+ [ InfixMatch+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54+ , srcInfoPoints = []+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 18+ , srcInfoPoints = []+ }+ "WrappedAdditive"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 19 432 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 19 432 20+ , srcInfoPoints = []+ }+ "a")+ ])+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 21 432 24+ , srcInfoPoints = []+ }+ ".-^")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 25 432 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 25 432 26+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 27 432 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 432 27 432 28 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 54+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44+ , srcInfoPoints = []+ }+ "WrappedAdditive")))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 45 432 54+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 432 45 432 46+ , SrcSpan "tests/examples/DerivingVia.hs" 432 53 432 54+ ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 46 432 53+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 46 432 47+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 46 432 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 46 432 47+ , srcInfoPoints = []+ }+ "a")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 48 432 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 48 432 51+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 48 432 51+ , srcInfoPoints = []+ }+ "^-^")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 432 52 432 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 52 432 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia.hs" 432 52 432 53+ , srcInfoPoints = []+ }+ "b")))))))+ Nothing+ ])+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 9+ , SrcSpan "tests/examples/DerivingVia.hs" 435 38 435 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 10 435 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 14 435 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 14 435 15+ , SrcSpan "tests/examples/DerivingVia.hs" 435 36 435 37+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 28 435 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 28 435 29+ , SrcSpan "tests/examples/DerivingVia.hs" 435 35 435 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30+ , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32+ , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30+ , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32+ , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30+ , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32+ , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33+ ]+ })))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 34 435 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 34 435 35+ , srcInfoPoints = []+ }+ "a"))))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 62+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 62+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 54 435 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 54 435 55+ , SrcSpan "tests/examples/DerivingVia.hs" 435 61 435 62+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56+ , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58+ , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56+ , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58+ , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56+ , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58+ , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59+ ]+ })))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 60 435 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 435 60 435 61+ , srcInfoPoints = []+ }+ "a"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 9+ , SrcSpan "tests/examples/DerivingVia.hs" 437 38 437 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 10 437 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 14 437 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 14 437 15+ , SrcSpan "tests/examples/DerivingVia.hs" 437 30 437 31+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 30+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29+ , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29+ , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29+ , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30+ ]+ })))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 56+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 56+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55+ , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55+ , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55+ , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56+ ]+ })))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 9+ , SrcSpan "tests/examples/DerivingVia.hs" 439 38 439 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 10 439 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 14 439 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 439 14 439 15+ , SrcSpan "tests/examples/DerivingVia.hs" 439 35 439 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35+ , srcInfoPoints = []+ }+ "Complex")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 61+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 61+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61+ , srcInfoPoints = []+ }+ "Complex")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 9+ , SrcSpan "tests/examples/DerivingVia.hs" 441 38 441 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 10 441 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 14 441 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 441 14 441 15+ , SrcSpan "tests/examples/DerivingVia.hs" 441 33 441 34+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33+ , srcInfoPoints = []+ }+ "Maybe")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 59+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 59+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59+ , srcInfoPoints = []+ }+ "Maybe")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 9+ , SrcSpan "tests/examples/DerivingVia.hs" 443 38 443 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 10 443 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 14 443 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 443 14 443 15+ , SrcSpan "tests/examples/DerivingVia.hs" 443 35 443 36+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 35+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35+ , srcInfoPoints = []+ }+ "ZipList")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 61+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 61+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61+ , srcInfoPoints = []+ }+ "ZipList")))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 9+ , SrcSpan "tests/examples/DerivingVia.hs" 445 38 445 46+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 10 445 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 14 445 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 445 14 445 15+ , SrcSpan "tests/examples/DerivingVia.hs" 445 36 445 37+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 36+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27+ , srcInfoPoints = []+ }+ "WrapAdditive")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36+ , srcInfoPoints = []+ }+ "Identity")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 62+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 62+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53+ , srcInfoPoints = []+ }+ "Affine")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62+ , srcInfoPoints = []+ }+ "Identity")))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 1 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 451 1 451 6+ , SrcSpan "tests/examples/DerivingVia.hs" 451 16 451 21+ , SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 3+ , SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 0+ ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 15+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 13+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 11+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 9+ , srcInfoPoints = []+ }+ "C2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 10 451 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 10 451 11+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 12 451 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 12 451 13+ , srcInfoPoints = []+ }+ "b")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 14 451 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 451 14 451 15+ , srcInfoPoints = []+ }+ "c")))+ []+ (Just+ [ ClsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 452 6 452 8 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 452 6 452 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 5+ , srcInfoPoints = []+ }+ "c2"+ ]+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 452 11 452 13 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 10+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 452 16 452 18 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 15+ , srcInfoPoints = []+ }+ "b"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 19 452 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 452 19 452 20+ , srcInfoPoints = []+ }+ "c")))))+ ])+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 454 1 457 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 9+ , SrcSpan "tests/examples/DerivingVia.hs" 454 29 454 34+ , SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 3+ , SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 28+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 16+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 14+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12+ , srcInfoPoints = []+ }+ "C2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 13 454 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 13 454 14+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 15 454 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 15 454 16+ , srcInfoPoints = []+ }+ "b")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 17 454 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 454 17 454 18+ , SrcSpan "tests/examples/DerivingVia.hs" 454 27 454 28+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 27+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 25+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23+ , srcInfoPoints = []+ }+ "Const")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 24 454 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 24 454 25+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 26 454 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 454 26 454 27+ , srcInfoPoints = []+ }+ "b"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19+ , srcInfoPoints = []+ }+ (FunBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 5+ , srcInfoPoints = []+ }+ "c2")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 6 455 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 6 455 7+ , srcInfoPoints = []+ }+ "x")+ , PWildCard+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 8 455 9+ , srcInfoPoints = []+ }+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 10 455 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 455 10 455 11 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 19+ , srcInfoPoints = []+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17+ , srcInfoPoints = []+ }+ "Const")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ])+ ])+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 1 458 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 457 18 457 19 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 17+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 15+ , srcInfoPoints = []+ }+ "Fweemp"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 16 457 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 16 457 17+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 28+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 26+ , srcInfoPoints = []+ }+ "Fweemp")+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 27 457 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 457 27 457 28+ , srcInfoPoints = []+ }+ "a")+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 3 458 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 458 3 458 11 ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 8 459 11+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 12 459 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 459 12 459 13+ , SrcSpan "tests/examples/DerivingVia.hs" 459 32 459 33+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 20+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18+ , srcInfoPoints = []+ }+ "Const")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 19 459 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 19 459 20+ , srcInfoPoints = []+ }+ "a")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 21 459 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 459 21 459 22+ , SrcSpan "tests/examples/DerivingVia.hs" 459 24 459 26+ , SrcSpan "tests/examples/DerivingVia.hs" 459 31 459 32+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 22 459 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 22 459 23+ , srcInfoPoints = []+ }+ "b"))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31+ , srcInfoPoints = []+ }+ "Type"))))))))+ [ IParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 12 458 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia.hs" 458 12 458 13+ , SrcSpan "tests/examples/DerivingVia.hs" 458 19 458 20+ ]+ }+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 19+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 19+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 17+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15+ , srcInfoPoints = []+ }+ "C2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 16 458 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 16 458 17+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 18 458 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia.hs" 458 18 458 19+ , srcInfoPoints = []+ }+ "b"))))+ ]+ ]+ ]+ , [ Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 38 1 38 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 39 1 39 18)+ " Simple example"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 40 1 40 6) "---"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 46 1 46 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 47 1 47 25)+ " Eta reduction at work"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 48 1 48 6) "---"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 62 1 62 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 63 1 63 22)+ " Monad transformers"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 64 1 64 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 68 1 68 22)+ " From `constraints'"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 78 1 78 52)+ " With `-XQuantifiedConstraints' this just becomes"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 79 1 79 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 80 1 80 68)+ " type Lifting cls trans = forall mm. cls mm => cls (trans mm)"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 81 1 81 3) ""+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 82 1 82 52)+ " type LiftingMonad trans = Lifting Monad trans"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 83 1 83 3) ""+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 142 1 142 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 143 1 143 32)+ " Using tuples in a `via` type"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 144 1 144 6) "---"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 153 1 153 6) "---"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 154 1 154 23)+ " Abstract data types"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 155 1 155 6) "---"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 167 1 167 5) "--"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 168 1 168 18)+ " Testing parser"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 169 1 169 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 183 1 183 5) "--"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 184 1 184 23)+ " From Baldur's notes"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 185 1 185 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 187 1 187 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 188 1 188 5) " 1"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 189 1 189 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 227 1 227 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 228 1 228 5) " 2"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 229 1 229 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 243 1 243 8) " data"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 262 1 262 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 263 1 263 5) " 3"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 264 1 264 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 290 1 290 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 291 1 291 5) " 4"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 292 1 292 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 324 1 324 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 325 1 325 5) " 5"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 326 1 326 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 340 1 340 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 341 1 341 5) " 6"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 342 1 342 5) "--"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 343 1 343 116)+ " https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 360 1 360 19)+ "mkLattice_(Bool)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 362 1 362 19)+ "mkLattice_(Char)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 364 1 364 18)+ "mkLattice_(Int)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 366 1 366 22)+ "mkLattice_(Integer)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 368 1 368 20)+ "mkLattice_(Float)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 370 1 370 21)+ "mkLattice_(Double)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 372 1 372 23)+ "mkLattice_(Rational)"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 375 1 375 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 376 1 376 5) " 7"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 377 1 377 5) "--"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 378 1 378 81)+ " https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 421 1 421 79)+ " #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \\"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 422 1 422 85)+ " (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \\"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 423 1 423 42)+ " (.-^) = (^-^) ; {-# INLINE (.-^) #-}"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 424 1 424 40)+ " #define ADDITIVE(T) ADDITIVEC((), T)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 434 1 434 22)+ " ADDITIVE(((->) a))"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 436 1 436 16)+ " ADDITIVE([])"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 438 1 438 21)+ " ADDITIVE(Complex)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 440 1 440 19)+ " ADDITIVE(Maybe)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 442 1 442 21)+ " ADDITIVE(ZipList)"+ , Comment+ False+ (SrcSpan "tests/examples/DerivingVia.hs" 444 1 444 22)+ " ADDITIVE(Identity)"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 447 1 447 5) "--"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 448 1 448 5) " 8"+ , Comment+ False (SrcSpan "tests/examples/DerivingVia.hs" 449 1 449 5) "--"+ ]+ )
+ tests/examples/DerivingVia.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingVia.hs.prettyprinter.golden view
@@ -0,0 +1,418 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE KindSignatures #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE TypeInType #-}+{-# LANGUAGE GADTs #-}+{-# LANGUAGE TypeApplications #-}+{-# LANGUAGE ConstraintKinds #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE UndecidableInstances #-}+module DerivingVia where+import Data.Void+import Data.Complex+import Data.Functor.Const+import Data.Functor.Identity+import Data.Ratio+import Control.Monad.Reader+import Control.Monad.State+import Control.Monad.Writer+import Control.Applicative hiding (WrappedMonad(..))+import Data.Bifunctor+import Data.Monoid+import Data.Kind++type f ~> g = forall xx . f xx -> g xx++data Foo a = MkFoo a a+ deriving Show via (Identity (Foo a))++newtype Flip p a b = Flip{runFlip :: p b a}++instance Bifunctor p => Bifunctor (Flip p) where+ bimap f g = Flip . bimap g f . runFlip++instance Bifunctor p => Functor (Flip p a) where+ fmap f = Flip . first f . runFlip++newtype Bar a = MkBar (Either a Int)+ deriving Functor via (Flip Either Int)++type MTrans = (Type -> Type) -> (Type -> Type)++data Dict c where+ Dict :: c => Dict c++newtype a :- b = Sub (a => Dict b)++infixl 1 \\++(\\) :: a => (b => r) -> (a :- b) -> r+r \\ Sub Dict = r++class LiftingMonad (trans :: MTrans) where+ proof :: Monad m :- Monad (trans m)++instance LiftingMonad (StateT s :: MTrans) where+ proof :: Monad m :- Monad (StateT s m)+ proof = Sub Dict++instance Monoid w => LiftingMonad (WriterT w :: MTrans) where+ proof :: Monad m :- Monad (WriterT w m)+ proof = Sub Dict++instance (LiftingMonad trans, LiftingMonad trans') =>+ LiftingMonad (ComposeT trans trans' :: MTrans)+ where+ proof :: forall m . Monad m :- Monad (ComposeT trans trans' m)+ proof = Sub (Dict \\ proof @trans @(trans' m) \\ proof @trans' @m)++newtype Stack :: MTrans where+ Stack ::+ ReaderT Int (StateT Bool (WriterT String m)) a -> Stack m a+ deriving newtype (Functor, Applicative, Monad, MonadReader Int,+ MonadState Bool, MonadWriter String)+ deriving (MonadTrans, MFunctor) via (ReaderT Int `ComposeT`+ StateT Bool `ComposeT` WriterT String)++class MFunctor (trans :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (trans m ~> trans m')++instance MFunctor (ReaderT r :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (ReaderT r m ~> ReaderT r m')+ hoist nat = ReaderT . fmap nat . runReaderT++instance MFunctor (StateT s :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (StateT s m ~> StateT s m')+ hoist nat = StateT . fmap nat . runStateT++instance MFunctor (WriterT w :: MTrans) where+ hoist :: Monad m => (m ~> m') -> (WriterT w m ~> WriterT w m')+ hoist nat = WriterT . nat . runWriterT++infixr 9 `ComposeT`++newtype ComposeT :: MTrans -> MTrans -> MTrans where+ ComposeT :: {getComposeT :: f (g m) a} -> ComposeT f g m a+ deriving newtype (Functor, Applicative, Monad)++instance (MonadTrans f, MonadTrans g, LiftingMonad g) =>+ MonadTrans (ComposeT f g)+ where+ lift :: forall m . Monad m => m ~> ComposeT f g m+ lift = ComposeT . lift . lift \\ proof @g @m++instance (MFunctor f, MFunctor g, LiftingMonad g) =>+ MFunctor (ComposeT f g)+ where+ hoist ::+ forall m m' . Monad m =>+ (m ~> m') -> (ComposeT f g m ~> ComposeT f g m')+ hoist f = ComposeT . hoist (hoist f) . getComposeT \\ proof @g @m++newtype X a = X (a, a)+ deriving (Semigroup, Monoid) via (Product a, Sum a)+ deriving (Show, Eq) via (a, a)++class C f where+ c :: f a -> Int++newtype X2 f a = X2 (f a)++instance C (X2 f) where+ c = const 0++deriving via (X2 IO) instance C IO++newtype P0 a = P0 a+ deriving Show via a++newtype P1 a = P1 [a]+ deriving Show via [a]++newtype P2 a = P2 (a, a)+ deriving Show via (a, a)++newtype P3 a = P3 (Maybe a)+ deriving Show via (First a)++newtype P4 a = P4 (Maybe a)+ deriving Show via (First $ a)++newtype P5 a = P5 a+ deriving Show via (Identity $ a)++newtype P6 a = P6 [a]+ deriving Show via ([] $ a)++newtype P7 a = P7 (a, a)+ deriving Show via (Identity $ (a, a))++newtype P8 a = P8 (Either () a)+ deriving Functor via (($) (Either ()))++newtype f $ a = APP (f a)+ deriving newtype Show+ deriving newtype Functor++newtype WrapApplicative f a = WrappedApplicative (f a)+ deriving (Functor, Applicative)++instance (Applicative f, Num a) => Num (WrapApplicative f a) where+ (+) = liftA2 (+)+ (*) = liftA2 (*)+ negate = fmap negate+ fromInteger = pure . fromInteger+ abs = fmap abs+ signum = fmap signum++instance (Applicative f, Fractional a) =>+ Fractional (WrapApplicative f a)+ where+ recip = fmap recip+ fromRational = pure . fromRational++instance (Applicative f, Floating a) =>+ Floating (WrapApplicative f a)+ where+ pi = pure pi+ sqrt = fmap sqrt+ exp = fmap exp+ log = fmap log+ sin = fmap sin+ cos = fmap cos+ asin = fmap asin+ atan = fmap atan+ acos = fmap acos+ sinh = fmap sinh+ cosh = fmap cosh+ asinh = fmap asinh+ atanh = fmap atanh+ acosh = fmap acosh++instance (Applicative f, Semigroup s) =>+ Semigroup (WrapApplicative f s)+ where+ (<>) = liftA2 (<>)++instance (Applicative f, Monoid m) => Monoid (WrapApplicative f m)+ where+ mempty = pure mempty++class Pointed p where+ pointed :: a -> p a++newtype WrapMonad f a = WrappedMonad (f a)+ deriving newtype (Pointed, Monad)++instance (Monad m, Pointed m) => Functor (WrapMonad m) where+ fmap = liftM++instance (Monad m, Pointed m) => Applicative (WrapMonad m) where+ pure = pointed+ (<*>) = ap++data Sorted a = Sorted a a a+ deriving (Functor, Applicative) via (WrapMonad Sorted)+ deriving (Num, Fractional, Floating, Semigroup,+ Monoid) via (WrapApplicative Sorted a)++instance Monad Sorted where+ (>>=) :: Sorted a -> (a -> Sorted b) -> Sorted b+ Sorted a b c >>= f = Sorted a' b' c'+ where Sorted a' _ _ = f a+ Sorted _ b' _ = f b+ Sorted _ _ c' = f c++instance Pointed Sorted where+ pointed :: a -> Sorted a+ pointed a = Sorted a a a++class IsZero a where+ isZero :: a -> Bool++newtype WrappedNumEq a = WrappedNumEq a++newtype WrappedShow a = WrappedShow a++newtype WrappedNumEq2 a = WrappedNumEq2 a++instance (Num a, Eq a) => IsZero (WrappedNumEq a) where+ isZero :: WrappedNumEq a -> Bool+ isZero (WrappedNumEq a) = 0 == a++instance Show a => IsZero (WrappedShow a) where+ isZero :: WrappedShow a -> Bool+ isZero (WrappedShow a) = "0" == show a++instance (Num a, Eq a) => IsZero (WrappedNumEq2 a) where+ isZero :: WrappedNumEq2 a -> Bool+ isZero (WrappedNumEq2 a) = a + a == a++newtype INT = INT Int+ deriving newtype Show+ deriving IsZero via (WrappedNumEq Int)++newtype VOID = VOID Void+ deriving IsZero via (WrappedShow Void)++class Bifunctor p => Biapplicative p where+ bipure :: a -> b -> p a b+ + biliftA2 ::+ (a -> b -> c) -> (a' -> b' -> c') -> p a a' -> p b b' -> p c c'++instance Biapplicative (,) where+ bipure = (,)+ biliftA2 f f' (a, a') (b, b') = (f a b, f' a' b')++newtype WrapBiapp p a b = WrapBiap (p a b)+ deriving newtype (Bifunctor, Biapplicative, Eq)++instance (Biapplicative p, Num a, Num b) => Num (WrapBiapp p a b)+ where+ (+) = biliftA2 (+) (+)+ (-) = biliftA2 (*) (*)+ (*) = biliftA2 (*) (*)+ negate = bimap negate negate+ abs = bimap abs abs+ signum = bimap signum signum+ fromInteger n = fromInteger n `bipure` fromInteger n++newtype INT2 = INT2 (Int, Int)+ deriving IsZero via (WrappedNumEq2 (WrapBiapp (,) Int Int))++class Monoid a => MonoidNull a where+ null :: a -> Bool++newtype WrpMonNull a = WRM a+ deriving (Eq, Semigroup, Monoid)++instance (Eq a, Monoid a) => MonoidNull (WrpMonNull a) where+ null :: WrpMonNull a -> Bool+ null = (== mempty)++deriving via (WrpMonNull Any) instance MonoidNull Any++deriving via () instance MonoidNull ()++deriving via Ordering instance MonoidNull Ordering++class Lattice a where+ sup :: a -> a -> a+ + (.>=) :: a -> a -> Bool+ + (.>) :: a -> a -> Bool++newtype WrapOrd a = WrappedOrd a+ deriving newtype (Eq, Ord)++instance Ord a => Lattice (WrapOrd a) where+ sup = max+ (.>=) = (>=)+ (.>) = (>)++deriving via [a] instance Ord a => Lattice [a]++deriving via (a, b) instance (Ord a, Ord b) => Lattice (a, b)++deriving via Bool instance Lattice Bool++deriving via Char instance Lattice Char++deriving via Int instance Lattice Int++deriving via Integer instance Lattice Integer++deriving via Float instance Lattice Float++deriving via Double instance Lattice Double++deriving via Rational instance Lattice Rational++class Functor f => Additive f where+ zero :: Num a => f a+ + (^+^) :: Num a => f a -> f a -> f a+ (^+^) = liftU2 (+)+ + (^-^) :: Num a => f a -> f a -> f a+ x ^-^ y = x ^+^ fmap negate y+ + liftU2 :: (a -> a -> a) -> f a -> f a -> f a++instance Additive [] where+ zero = []+ liftU2 f = go+ where go (x : xs) (y : ys) = f x y : go xs ys+ go [] ys = ys+ go xs [] = xs++instance Additive Maybe where+ zero = Nothing+ liftU2 f (Just a) (Just b) = Just (f a b)+ liftU2 _ Nothing ys = ys+ liftU2 _ xs Nothing = xs++instance Applicative f => Additive (WrapApplicative f) where+ zero = pure 0+ liftU2 = liftA2++deriving via (WrapApplicative ((->) a)) instance Additive ((->) a)++deriving via (WrapApplicative Complex) instance Additive Complex++deriving via (WrapApplicative Identity) instance Additive Identity++instance Additive ZipList where+ zero = ZipList []+ liftU2 f (ZipList xs) (ZipList ys) = ZipList (liftU2 f xs ys)++class Additive (Diff p) => Affine p where+ type Diff p :: Type -> Type+ + (.-.) :: Num a => p a -> p a -> Diff p a+ + (.+^) :: Num a => p a -> Diff p a -> p a+ + (.-^) :: Num a => p a -> Diff p a -> p a+ p .-^ v = p .+^ fmap negate v++newtype WrapAdditive f a = WrappedAdditive (f a)++instance Additive f => Affine (WrapAdditive f) where+ type Diff (WrapAdditive f) = f+ WrappedAdditive a .-. WrappedAdditive b = a ^-^ b+ WrappedAdditive a .+^ b = WrappedAdditive (a ^+^ b)+ WrappedAdditive a .-^ b = WrappedAdditive (a ^-^ b)++deriving via (WrapAdditive ((->) a)) instance Affine ((->) a)++deriving via (WrapAdditive []) instance Affine []++deriving via (WrapAdditive Complex) instance Affine Complex++deriving via (WrapAdditive Maybe) instance Affine Maybe++deriving via (WrapAdditive ZipList) instance Affine ZipList++deriving via (WrapAdditive Identity) instance Affine Identity++class C2 a b c where+ c2 :: a -> b -> c++instance C2 a b (Const a b) where+ c2 x _ = Const x++newtype Fweemp a = Fweemp a+ deriving (C2 a b) via (Const a (b :: Type))
+ tests/examples/DerivingVia2.hs view
@@ -0,0 +1,41 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingVia2 where++import Control.Applicative+import Data.Functor.Compose+import Data.Proxy+import Data.Semigroup++newtype App (f :: * -> *) a = App (f a)+ deriving newtype+ (Functor, Applicative)++instance (Applicative f, Semigroup a) => Semigroup (App f a) where+ (<>) = liftA2 (<>)++deriving via (App (Compose (f :: * -> *) g) a)+ instance (Applicative f, Applicative g, Semigroup a)+ => Semigroup (Compose f g a)++class C (a :: k -> *)+instance C Proxy++newtype MyProxy a = MyProxy (Proxy a)+deriving via (Proxy :: * -> *) instance C MyProxy++class Z a b+data T a+data X1 a+data X2 a+data X3 a++deriving via (forall a. T a) instance Z a (X1 b)+deriving via (T a) instance forall b. Z a (X2 b)+deriving via (forall a. T a) instance forall b. Z a (X3 b)
+ tests/examples/DerivingVia2.hs.exactprinter.golden view
@@ -0,0 +1,42 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingVia2 where++import Control.Applicative+import Data.Functor.Compose+import Data.Proxy+import Data.Semigroup++newtype App (f :: * -> *) a = App (f a)+ deriving newtype+ (Functor, Applicative)++instance (Applicative f, Semigroup a) => Semigroup (App f a) where+ (<>) = liftA2 (<>)++deriving via( App (Compose (f :: * -> *) g) a)+ instance (Applicative f, Applicative g, Semigroup a)+ => Semigroup (Compose f g a)++class C (a :: k -> *)+instance C Proxy++newtype MyProxy a = MyProxy (Proxy a)+deriving via( Proxy :: * -> *) instance C MyProxy++class Z a b+data T a+data X1 a+data X2 a+data X3 a++deriving via( forall a. T a) instance Z a (X1 b)+deriving via( T a) instance forall b. Z a (X2 b)+deriving via( forall a. T a) instance forall b. Z a (X3 b)+
+ tests/examples/DerivingVia2.hs.parser.golden view
@@ -0,0 +1,2346 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 1 1 42 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 2 1 2 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 3 1 3 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 4 1 4 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 6 1 6 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 7 1 7 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 8 1 8 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 11 1 11 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 12 1 12 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 13 1 13 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 14 1 14 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 16 1 16 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 1 20 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 1 23 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 27 1 27 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 28 1 28 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 30 1 30 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 31 1 31 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 33 1 33 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 34 1 34 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 35 1 35 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 36 1 36 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 37 1 37 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 1 39 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 1 40 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 1 41 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 42 1 42 1+ , SrcSpan "tests/examples/DerivingVia2.hs" 42 1 42 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 9 1 9 7+ , SrcSpan "tests/examples/DerivingVia2.hs" 9 21 9 26+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 9 8 9 20+ , srcInfoPoints = []+ }+ "DerivingVia2")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 1 1 1 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 1 1 1 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 1 33 1 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 1 14 1 32+ , srcInfoPoints = []+ }+ "DerivingStrategies"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 2 1 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 2 1 2 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 2 26 2 29+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 2 14 2 25+ , srcInfoPoints = []+ }+ "DerivingVia"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 3 1 3 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 3 1 3 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 3 32 3 35+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 3 14 3 31+ , srcInfoPoints = []+ }+ "FlexibleInstances"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 4 1 4 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 4 1 4 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 4 41 4 44+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 4 14 4 40+ , srcInfoPoints = []+ }+ "GeneralizedNewtypeDeriving"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 5 1 5 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 5 1 5 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 5 36 5 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 5 14 5 35+ , srcInfoPoints = []+ }+ "MultiParamTypeClasses"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 6 1 6 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 6 1 6 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 6 24 6 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 6 14 6 23+ , srcInfoPoints = []+ }+ "PolyKinds"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 7 1 7 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 7 1 7 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 7 25 7 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 7 14 7 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 8 1 8 36+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 8 1 8 13+ , SrcSpan "tests/examples/DerivingVia2.hs" 8 33 8 36+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 8 14 8 32+ , srcInfoPoints = []+ }+ "StandaloneDeriving"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 11 1 11 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 11 1 11 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 11 8 11 27+ , srcInfoPoints = []+ }+ "Control.Applicative"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 12 1 12 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 12 1 12 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 12 8 12 28+ , srcInfoPoints = []+ }+ "Data.Functor.Compose"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 13 1 13 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 13 1 13 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 13 8 13 18+ , srcInfoPoints = []+ }+ "Data.Proxy"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 14 1 14 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 14 1 14 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 14 8 14 22+ , srcInfoPoints = []+ }+ "Data.Semigroup"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 1 18 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 16 29 16 30 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 1 16 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 28+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 26+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 16 9 16 12+ , srcInfoPoints = []+ }+ "App"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 13 16 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 16 13 16 14+ , SrcSpan "tests/examples/DerivingVia2.hs" 16 16 16 18+ , SrcSpan "tests/examples/DerivingVia2.hs" 16 25 16 26+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 14 16 15+ , srcInfoPoints = []+ }+ "f")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 19 16 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 16 21 16 23 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 19 16 20+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 24 16 25+ , srcInfoPoints = []+ }))))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 27 16 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 27 16 28+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 31 16 40+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 31 16 40+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 31 16 34+ , srcInfoPoints = []+ }+ "App")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 35 16 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 16 35 16 36+ , SrcSpan "tests/examples/DerivingVia2.hs" 16 39 16 40+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 36 16 39+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 36 16 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 36 16 37+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 38 16 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 16 38 16 39+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ [ Deriving+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 17 3 18 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 17 3 17 11+ , SrcSpan "tests/examples/DerivingVia2.hs" 18 5 18 6+ , SrcSpan "tests/examples/DerivingVia2.hs" 18 13 18 14+ , SrcSpan "tests/examples/DerivingVia2.hs" 18 26 18 27+ ]+ }+ (Just+ (DerivNewtype+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 17 12 17 19+ , srcInfoPoints = []+ }))+ [ IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 18 6 18 13+ , srcInfoPoints = []+ }+ "Functor")))+ , IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 18 15 18 26+ , srcInfoPoints = []+ }+ "Applicative")))+ ]+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 20 1 23 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 20 1 20 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 62 20 67+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 3+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 1 23 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 10 20 61+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 10 20 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 20 10 20 11+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 24 20 25+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 37 20 38+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 39 20 41+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 24+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 11 20 22+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 23 20 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 23 20 24+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 26 20 35+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 36 20 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 36 20 37+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 61+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 51+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 42 20 51+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 52 20 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 20 52 20 53+ , SrcSpan "tests/examples/DerivingVia2.hs" 20 60 20 61+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 60+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 53 20 56+ , srcInfoPoints = []+ }+ "App")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 57 20 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 57 20 58+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 59 20 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 20 59 20 60+ , srcInfoPoints = []+ }+ "a"))))))+ (Just+ [ InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 21+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 21+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 21 3 21 4+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 4 21 6+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 6 21 7+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 4 21 6+ , srcInfoPoints = []+ }+ "<>"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 21 8 21 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 21 8 21 9 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 21+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 16+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 10 21 16+ , srcInfoPoints = []+ }+ "liftA2")))+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 18+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 18 21 20+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 20 21 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 21 17 21 18+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 18 21 20+ , SrcSpan "tests/examples/DerivingVia2.hs" 21 20 21 21+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 21 18 21 20+ , srcInfoPoints = []+ }+ "<>")))))+ Nothing)+ ])+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 23 1 25 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 1 23 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 24 10 24 18+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 10 23 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 14 23 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 14 23 15+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 46 23 47+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 46+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 44+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 15 23 18+ , srcInfoPoints = []+ }+ "App")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 19 23 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 19 23 20+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 43 23 44+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 41+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 20 23 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia2.hs" 23 20 23 27+ , srcInfoPoints = []+ }+ "Compose")))+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 28 23 41+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 28 23 29+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 31 23 33+ , SrcSpan "tests/examples/DerivingVia2.hs" 23 40 23 41+ ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 29 23 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia2.hs" 23 29 23 30+ , srcInfoPoints = []+ }+ "f"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 34 23 40+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 23 36 23 38+ ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia2.hs" 23 34 23 35+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/DerivingVia2.hs" 23 39 23 40+ , srcInfoPoints = []+ }))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 42 23 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 42 23 43+ , srcInfoPoints = []+ }+ "g")))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 45 23 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 23 45 23 46+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 19 25 44+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 19 25 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 24 19 24 20+ , SrcSpan "tests/examples/DerivingVia2.hs" 24 33 24 34+ , SrcSpan "tests/examples/DerivingVia2.hs" 24 48 24 49+ , SrcSpan "tests/examples/DerivingVia2.hs" 24 61 24 62+ , SrcSpan "tests/examples/DerivingVia2.hs" 25 16 25 18+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 20 24 31+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 32 24 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 32 24 33+ , srcInfoPoints = []+ }+ "f")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 48+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 46+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 35 24 46+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 47 24 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 47 24 48+ , srcInfoPoints = []+ }+ "g")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 59+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 50 24 59+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 60 24 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 24 60 24 61+ , srcInfoPoints = []+ }+ "a")))+ ]))+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 44+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 19 25 28+ , srcInfoPoints = []+ }+ "Semigroup")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 29 25 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 25 29 25 30+ , SrcSpan "tests/examples/DerivingVia2.hs" 25 43 25 44+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 43+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 41+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 39+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 37+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 30 25 37+ , srcInfoPoints = []+ }+ "Compose")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 38 25 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 38 25 39+ , srcInfoPoints = []+ }+ "f")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 40 25 41+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 40 25 41+ , srcInfoPoints = []+ }+ "g")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 42 25 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 25 42 25 43+ , srcInfoPoints = []+ }+ "a"))))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 1 27 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 27 1 27 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 7 27 22+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 7 27 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 7 27 8+ , srcInfoPoints = []+ }+ "C"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 27 9 27 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 27 9 27 10+ , SrcSpan "tests/examples/DerivingVia2.hs" 27 12 27 14+ , SrcSpan "tests/examples/DerivingVia2.hs" 27 21 27 22+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 10 27 11+ , srcInfoPoints = []+ }+ "a")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 15 27 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 27 17 27 19 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 15 27 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 15 27 16+ , srcInfoPoints = []+ }+ "k"))+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 27 20 27 21+ , srcInfoPoints = []+ }))))+ []+ Nothing+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 28 1 28 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 28 1 28 9 ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 17+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 17+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 10 28 11+ , srcInfoPoints = []+ }+ "C")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 12 28 17+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 12 28 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 28 12 28 17+ , srcInfoPoints = []+ }+ "Proxy")))))+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 1 30 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 30 19 30 20 ]+ }+ (NewType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 1 30 8+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 9 30 18+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 9 30 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 30 9 30 16+ , srcInfoPoints = []+ }+ "MyProxy"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 17 30 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 17 30 18+ , srcInfoPoints = []+ }+ "a")))+ [ QualConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 21 30 38+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (ConDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 21 30 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 21 30 28+ , srcInfoPoints = []+ }+ "MyProxy")+ [ TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 29 30 38+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 30 29 30 30+ , SrcSpan "tests/examples/DerivingVia2.hs" 30 37 30 38+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 37+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 30 30 35+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 36 30 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 30 36 30 37+ , srcInfoPoints = []+ }+ "a")))+ ])+ ]+ []+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 31 1 31 50+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 31 1 31 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 31 32 31 40+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 10 31 13+ , srcInfoPoints = []+ }+ (TyKind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 14 31 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 31 14 31 15+ , SrcSpan "tests/examples/DerivingVia2.hs" 31 21 31 23+ , SrcSpan "tests/examples/DerivingVia2.hs" 31 30 31 31+ ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 15 31 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 15 31 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 15 31 20+ , srcInfoPoints = []+ }+ "Proxy")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 24 31 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 31 26 31 28 ]+ }+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 24 31 25+ , srcInfoPoints = []+ })+ (TyStar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 29 31 30+ , srcInfoPoints = []+ })))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 50+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 50+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 42+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 41 31 42+ , srcInfoPoints = []+ }+ "C")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 43 31 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 43 31 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 31 43 31 50+ , srcInfoPoints = []+ }+ "MyProxy")))))+ , ClassDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 1 33 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 33 1 33 6 ]+ }+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 12+ , srcInfoPoints = []+ }+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 7 33 8+ , srcInfoPoints = []+ }+ "Z"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 9 33 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 33 9 33 10+ , srcInfoPoints = []+ }+ "a")))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 33 11 33 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 33 11 33 12+ , srcInfoPoints = []+ }+ "b")))+ []+ Nothing+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 1 34 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 1 34 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 6 34 9+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 6 34 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 6 34 7+ , srcInfoPoints = []+ }+ "T"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 8 34 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 34 8 34 9+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 1 35 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 1 35 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 6 35 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 6 35 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 6 35 8+ , srcInfoPoints = []+ }+ "X1"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 9 35 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 35 9 35 10+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 1 36 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 1 36 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 6 36 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 6 36 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 6 36 8+ , srcInfoPoints = []+ }+ "X2"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 9 36 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 36 9 36 10+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 1 37 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 1 37 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 6 37 10+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 6 37 8+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 6 37 8+ , srcInfoPoints = []+ }+ "X3"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 9 37 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 37 9 37 10+ , srcInfoPoints = []+ }+ "a")))+ []+ []+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 39 1 39 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 39 1 39 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 30 39 38+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 10 39 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 14 39 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 39 14 39 15+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 28 39 29+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 15 39 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 39 15 39 21+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 23 39 24+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 22 39 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 22 39 23+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ "T")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 27 39 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 27 39 28+ , srcInfoPoints = []+ }+ "a")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 59+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 59+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 52+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 49 39 50+ , srcInfoPoints = []+ }+ "Z")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 51 39 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 51 39 52+ , srcInfoPoints = []+ }+ "a")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 53 39 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 39 53 39 54+ , SrcSpan "tests/examples/DerivingVia2.hs" 39 58 39 59+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 54 39 56+ , srcInfoPoints = []+ }+ "X1")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 57 39 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 39 57 39 58+ , srcInfoPoints = []+ }+ "b"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 40 1 40 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 40 1 40 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 30 40 38+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 10 40 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 24 40 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 40 24 40 25+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 28 40 29+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 25 40 26+ , srcInfoPoints = []+ }+ "T")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 27 40 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 27 40 28+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 39 40 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 40 39 40 45+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 47 40 48+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 46 40 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 46 40 47+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 59+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 52+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 49 40 50+ , srcInfoPoints = []+ }+ "Z")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 51 40 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 51 40 52+ , srcInfoPoints = []+ }+ "a")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 53 40 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 40 53 40 54+ , SrcSpan "tests/examples/DerivingVia2.hs" 40 58 40 59+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 54 40 56+ , srcInfoPoints = []+ }+ "X2")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 57 40 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 40 57 40 58+ , srcInfoPoints = []+ }+ "b"))))))+ , DerivDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/DerivingVia2.hs" 41 1 41 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 1 41 9+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 30 41 38+ ]+ }+ (Just+ (DerivVia+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 10 41 13+ , srcInfoPoints = []+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 14 41 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 14 41 15+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 28 41 29+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 15 41 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 15 41 21+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 23 41 24+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 22 41 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 22 41 23+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 28+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 25 41 26+ , srcInfoPoints = []+ }+ "T")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 27 41 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 27 41 28+ , srcInfoPoints = []+ }+ "a")))))))+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 39 41 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 39 41 45+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 47 41 48+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 46 41 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 46 41 47+ , srcInfoPoints = []+ }+ "b")+ ])+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 59+ , srcInfoPoints = []+ }+ (IHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 52+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 50+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 50+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 49 41 50+ , srcInfoPoints = []+ }+ "Z")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 51 41 52+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 51 41 52+ , srcInfoPoints = []+ }+ "a")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 53 41 59+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingVia2.hs" 41 53 41 54+ , SrcSpan "tests/examples/DerivingVia2.hs" 41 58 41 59+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 58+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 56+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 56+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 54 41 56+ , srcInfoPoints = []+ }+ "X3")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 57 41 58+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingVia2.hs" 41 57 41 58+ , srcInfoPoints = []+ }+ "b"))))))+ ]+ , []+ )
+ tests/examples/DerivingVia2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingVia2.hs.prettyprinter.golden view
@@ -0,0 +1,47 @@+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE DerivingVia #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE PolyKinds #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE StandaloneDeriving #-}+module DerivingVia2 where+import Control.Applicative+import Data.Functor.Compose+import Data.Proxy+import Data.Semigroup++newtype App (f :: * -> *) a = App (f a)+ deriving newtype (Functor, Applicative)++instance (Applicative f, Semigroup a) => Semigroup (App f a) where+ (<>) = liftA2 (<>)++deriving via (App (Compose (f :: * -> *) g) a) instance+ (Applicative f, Applicative g, Semigroup a) =>+ Semigroup (Compose f g a)++class C (a :: k -> *)++instance C Proxy++newtype MyProxy a = MyProxy (Proxy a)++deriving via (Proxy :: * -> *) instance C MyProxy++class Z a b++data T a++data X1 a++data X2 a++data X3 a++deriving via (forall a . T a) instance Z a (X1 b)++deriving via (T a) instance forall b . Z a (X2 b)++deriving via (forall a . T a) instance forall b . Z a (X3 b)
+ tests/examples/DerivingViaStealing.hs view
@@ -0,0 +1,5 @@+module DerivingViaStealing where++via = ()+stock = ()+anyclass = ()
+ tests/examples/DerivingViaStealing.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingViaStealing.hs.parser.golden view
@@ -0,0 +1,201 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 6 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 6 1 6 1+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 6 1 6 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 1 1 7+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 1 28 1 33+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 1 8 1 27+ , srcInfoPoints = []+ }+ "DerivingViaStealing")+ Nothing+ Nothing))+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 9+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 1 3 4+ , srcInfoPoints = []+ }+ "via"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 5 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 5 3 6 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 8+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 8 3 9+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 8+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 8 3 9+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 3 7 3 8+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 3 8 3 9+ ]+ }))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 11+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 1 4 6+ , srcInfoPoints = []+ }+ "stock"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 7 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 7 4 8 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 10+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 10 4 11+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 10+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 10 4 11+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 4 9 4 10+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 4 10 4 11+ ]+ }))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 1 5 9+ , srcInfoPoints = []+ }+ "anyclass"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 10 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 10 5 11 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 13+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 13 5 14+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 13+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 13 5 14+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/DerivingViaStealing.hs" 5 12 5 13+ , SrcSpan "tests/examples/DerivingViaStealing.hs" 5 13 5 14+ ]+ }))))+ Nothing+ ]+ , []+ )
+ tests/examples/DerivingViaStealing.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/DerivingViaStealing.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+module DerivingViaStealing where+via = ()+stock = ()+anyclass = ()
tests/examples/Directory.hs.parser.golden view
@@ -25159,7 +25159,7 @@ "tests/examples/Directory.hs" 766 54 766 56 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan@@ -25173,7 +25173,7 @@ 56 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan@@ -25181,10 +25181,17 @@ 766 47 766- 51- , srcInfoPoints = []+ 56+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 54+ 766+ 56+ ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan@@ -25192,34 +25199,62 @@ 766 47 766- 51+ 56+ , srcInfoPoints =+ [ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 54+ 766+ 56+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 47+ 766+ 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 47+ 766+ 51+ , srcInfoPoints = []+ }+ "Real")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 52+ 766+ 53 , srcInfoPoints = [] }- "Real"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan- "tests/examples/Directory.hs"- 766- 52- 766- 53- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan- "tests/examples/Directory.hs"- 766- 52- 766- 53- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Directory.hs"+ 766+ 52+ 766+ 53+ , srcInfoPoints = []+ }+ "a")))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/DsStrictData.hs.parser.golden view
@@ -370,6 +370,8 @@ } "S3") Nothing+ Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 23@@ -665,6 +667,8 @@ , srcInfoPoints = [] } "L2")+ Nothing+ Nothing Nothing (TyFun SrcSpanInfo
tests/examples/EqualityConstraints1.hs.parser.golden view
@@ -61,47 +61,60 @@ { srcInfoSpan = SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18 , srcInfoPoints =- [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18 ]+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+ ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 15+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18 , srcInfoPoints =- [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11 ]+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+ ] }- (TyVar+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9- , srcInfoPoints = []+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 10 4 11+ , SrcSpan "tests/examples/EqualityConstraints1.hs" 4 16 4 18+ ] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9 , srcInfoPoints = [] }- "a"))- (TyCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15- , srcInfoPoints = []- }- (UnQual+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ "a"))+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15 , srcInfoPoints = [] }- (Ident+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15 , srcInfoPoints = [] }- "Int"))))))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/EqualityConstraints1.hs" 4 12 4 15+ , srcInfoPoints = []+ }+ "Int"))))))) (TyVar SrcSpanInfo { srcInfoSpan =
tests/examples/FamilyKindSig.hs.parser.golden view
@@ -84,18 +84,18 @@ , srcInfoPoints = [] } "a")- (KindFn+ (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 31 4 37 , srcInfoPoints = [ SrcSpan "tests/examples/FamilyKindSig.hs" 4 33 4 35 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 31 4 32 , srcInfoPoints = [] })- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FamilyKindSig.hs" 4 36 4 37 , srcInfoPoints = []
tests/examples/Fixity3.hs.parser.golden view
@@ -88,37 +88,51 @@ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28 , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28 , srcInfoPoints = [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+ SrcSpan "tests/examples/Fixity3.hs" 2 12 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Fixity3.hs" 2 26 2 28 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 12 2 23+ , srcInfoPoints = []+ }+ "Applicative")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25 , srcInfoPoints = [] }- "Applicative"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25- , srcInfoPoints = []- }- "f")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Fixity3.hs" 2 24 2 25+ , srcInfoPoints = []+ }+ "f")))))) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Fixity3.hs" 2 29 2 53
tests/examples/FlexibleContextsWithoutVars.hs.parser.golden view
@@ -64,7 +64,7 @@ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18@@ -72,27 +72,36 @@ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18 ] }- (Qual+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15- , srcInfoPoints = []+ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18+ ] }- (ModuleName- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15- , srcInfoPoints = []- }- "Log")- (Ident+ (Qual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15 , srcInfoPoints = [] }- "Stack"))- [])))+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+ , srcInfoPoints = []+ }+ "Log")+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15+ , srcInfoPoints = []+ }+ "Stack")))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/ForallInInstance.hs.parser.golden view
@@ -95,40 +95,53 @@ , srcInfoPoints = [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32 , srcInfoPoints = [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27- , srcInfoPoints = []+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ForallInInstance.hs" 4 30 4 32 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 20 4 27+ , srcInfoPoints = []+ }+ "MyClass")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29 , srcInfoPoints = [] }- "MyClass"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ForallInInstance.hs" 4 28 4 29+ , srcInfoPoints = []+ }+ "a")))))) (IHApp SrcSpanInfo { srcInfoSpan =
tests/examples/GADTRecord.hs.parser.golden view
@@ -72,6 +72,8 @@ , srcInfoPoints = [] } "T")+ Nothing+ Nothing (Just [ FieldDecl SrcSpanInfo
+ tests/examples/GADTRecord2.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE GADTs #-}++data T where+ T :: () => { field :: Int } -> T
+ tests/examples/GADTRecord2.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/GADTRecord2.hs.parser.golden view
@@ -0,0 +1,137 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 1 1 1 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 5 1 5 1+ , SrcSpan "tests/examples/GADTRecord2.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 1 1 1 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 1 1 1 13+ , SrcSpan "tests/examples/GADTRecord2.hs" 1 20 1 23+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 1 14 1 19+ , srcInfoPoints = []+ }+ "GADTs"+ ]+ ]+ []+ [ GDataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 1 5 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 3 8 3 13+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 3 4 3+ , SrcSpan "tests/examples/GADTRecord2.hs" 5 1 5 0+ ]+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 1 3 5+ , srcInfoPoints = []+ })+ Nothing+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 3 6 3 7+ , srcInfoPoints = []+ }+ "T"))+ Nothing+ [ GadtDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 3 4 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 4 5 4 7+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 14 4 15+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 29 4 30+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 31 4 33+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 3 4 4+ , srcInfoPoints = []+ }+ "T")+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 8 4 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 4 8 4 9+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 9 4 10+ , SrcSpan "tests/examples/GADTRecord2.hs" 4 11 4 13+ ]+ }))+ (Just+ [ FieldDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 16 4 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/GADTRecord2.hs" 4 22 4 24 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 16 4 21+ , srcInfoPoints = []+ }+ "field"+ ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 25 4 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 25 4 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 25 4 28+ , srcInfoPoints = []+ }+ "Int")))+ ])+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 34 4 35+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 34 4 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GADTRecord2.hs" 4 34 4 35+ , srcInfoPoints = []+ }+ "T")))+ ]+ []+ ]+ , []+ )
+ tests/examples/GADTRecord2.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/GADTRecord2.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE GADTs #-}++data T where+ T :: () => {field :: Int} -> T
tests/examples/GadtDeriving.hs.parser.golden view
@@ -70,6 +70,8 @@ } "Foo") Nothing+ Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtDeriving.hs" 4 12 4 22
tests/examples/GadtRecordFields.hs.parser.golden view
@@ -83,6 +83,8 @@ , srcInfoPoints = [] } "TCon")+ Nothing+ Nothing (Just [ FieldDecl SrcSpanInfo@@ -186,6 +188,8 @@ , srcInfoPoints = [] } "TCon2")+ Nothing+ Nothing Nothing (TyCon SrcSpanInfo
tests/examples/GadtStrictness.hs.parser.golden view
@@ -70,6 +70,8 @@ } "X") Nothing+ Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 8 4 17
tests/examples/GenericTree.hs.parser.golden view
@@ -106,34 +106,46 @@ , SrcSpan "tests/examples/GenericTree.hs" 6 24 6 26 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 12 6 22 , srcInfoPoints = [] }- "Typeable"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 12 6 20+ , srcInfoPoints = []+ }+ "Typeable")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 21 6 22+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 27 6 83@@ -217,39 +229,51 @@ , SrcSpan "tests/examples/GenericTree.hs" 6 65 6 67 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+ SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+ SrcSpan "tests/examples/GenericTree.hs" 6 53 6 63 , srcInfoPoints = [] }- "Typeable"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63- , srcInfoPoints = []- }- "b")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 53 6 61+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/GenericTree.hs" 6 53 6 61+ , srcInfoPoints = []+ }+ "Typeable")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/GenericTree.hs" 6 62 6 63+ , srcInfoPoints = []+ }+ "b"))))))) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/GenericTree.hs" 6 68 6 82
+ tests/examples/ImportQualifiedPost.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE ImportQualifiedPost #-}+module ImportQualifiedPost where++import Data.List qualified as L
+ tests/examples/ImportQualifiedPost.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ImportQualifiedPost.hs.parser.golden view
@@ -0,0 +1,89 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 1 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 1 4 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 5 1 5 1+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 1 2 7+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 28 2 33+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 2 8 2 27+ , srcInfoPoints = []+ }+ "ImportQualifiedPost")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 1 37+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 1 1 13+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 34 1 37+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 1 14 1 33+ , srcInfoPoints = []+ }+ "ImportQualifiedPost"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 1 4 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 1 4 7+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 18 4 27+ , SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 28 4 30+ ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 8 4 17+ , srcInfoPoints = []+ }+ "Data.List"+ , importQualified = True+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs =+ Just+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ImportQualifiedPost.hs" 4 31 4 32+ , srcInfoPoints = []+ }+ "L")+ , importSpecs = Nothing+ }+ ]+ []+ , []+ )
+ tests/examples/ImportQualifiedPost.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/ImportQualifiedPost.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE ImportQualifiedPost #-}+module ImportQualifiedPost where+import qualified Data.List as L
tests/examples/InfixTypeMinus.hs.parser.golden view
@@ -121,7 +121,7 @@ , srcInfoPoints = [] } "n")- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 16 5 19@@ -156,6 +156,8 @@ } "VCons") Nothing+ Nothing+ Nothing (TyForall SrcSpanInfo { srcInfoSpan =@@ -184,88 +186,98 @@ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 50 5 52 ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 48 , srcInfoPoints = [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 41 5 42 ] }- (TyVar+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40- , srcInfoPoints = []+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 41 5 42 ] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40 , srcInfoPoints = [] }- "m"))- (TyParen- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 48- , srcInfoPoints =- [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 44- , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 47 5 48- ]- }- (TyInfix+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 39 5 40+ , srcInfoPoints = []+ }+ "m"))+ (TyParen SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 47- , srcInfoPoints = []+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 43 5 44+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 5 47 5 48+ ] }- (TyVar+ (TyInfix SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 45+ SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 47 , srcInfoPoints = [] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 44 5 45 , srcInfoPoints = [] }- "n"))- (UnpromotedName- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 5 45 5 46- , srcInfoPoints = []- }- (UnQual+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 5 44 5 45+ , srcInfoPoints = []+ }+ "n"))+ (UnpromotedName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 45 5 46 , srcInfoPoints = [] }- (Symbol+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 45 5 46 , srcInfoPoints = [] }- "-")))- (TyPromoted- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 5 46 5 47- , srcInfoPoints = []- }- (PromotedInteger+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 5 45 5 46+ , srcInfoPoints = []+ }+ "-")))+ (TyPromoted SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 5 46 5 47 , srcInfoPoints = [] }- 1- "1"))))))))+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 5 46 5 47+ , srcInfoPoints = []+ }+ 1+ "1"))))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -425,7 +437,7 @@ , srcInfoPoints = [] } "n")- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 16 6 19@@ -460,6 +472,8 @@ } "VCons") Nothing+ Nothing+ Nothing (TyForall SrcSpanInfo { srcInfoSpan =@@ -488,88 +502,98 @@ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 50 6 52 ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 48 , srcInfoPoints = [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 45 6 46 ] }- (TyParen+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 44+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 48 , srcInfoPoints =- [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 40- , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 43 6 44- ]+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 45 6 46 ] }- (TyInfix+ (TyParen SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 43- , srcInfoPoints = []+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 39 6 40+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 6 43 6 44+ ] }- (TyVar+ (TyInfix SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 41+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 43 , srcInfoPoints = [] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 40 6 41 , srcInfoPoints = [] }- "n"))- (UnpromotedName- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 6 41 6 42- , srcInfoPoints = []- }- (UnQual+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 6 40 6 41+ , srcInfoPoints = []+ }+ "n"))+ (UnpromotedName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 41 6 42 , srcInfoPoints = [] }- (Symbol+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 41 6 42 , srcInfoPoints = [] }- "-")))- (TyPromoted- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 6 42 6 43- , srcInfoPoints = []- }- (PromotedInteger+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 6 41 6 42+ , srcInfoPoints = []+ }+ "-")))+ (TyPromoted SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 42 6 43 , srcInfoPoints = [] }- 1- "1"))))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48- , srcInfoPoints = []- }- (Ident+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 6 42 6 43+ , srcInfoPoints = []+ }+ 1+ "1"))))+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48 , srcInfoPoints = [] }- "m"))))))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 6 47 6 48+ , srcInfoPoints = []+ }+ "m"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -729,7 +753,7 @@ , srcInfoPoints = [] } "n")- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 16 7 19@@ -764,6 +788,8 @@ } "VCons") Nothing+ Nothing+ Nothing (TyForall SrcSpanInfo { srcInfoSpan =@@ -792,88 +818,98 @@ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 50 7 52 ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 48 , srcInfoPoints = [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 45 7 46 ] }- (TyParen+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 44+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 48 , srcInfoPoints =- [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 40- , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 43 7 44- ]+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 45 7 46 ] }- (TyInfix+ (TyParen SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 43- , srcInfoPoints = []+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 39 7 40+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 7 43 7 44+ ] }- (TyVar+ (TyInfix SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 41+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 43 , srcInfoPoints = [] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 40 7 41 , srcInfoPoints = [] }- "m"))- (UnpromotedName- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 7 41 7 42- , srcInfoPoints = []- }- (UnQual+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 7 40 7 41+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 41 7 42 , srcInfoPoints = [] }- (Symbol+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 41 7 42 , srcInfoPoints = [] }- "+")))- (TyPromoted- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 7 42 7 43- , srcInfoPoints = []- }- (PromotedInteger+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 7 41 7 42+ , srcInfoPoints = []+ }+ "+")))+ (TyPromoted SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 42 7 43 , srcInfoPoints = [] }- 1- "1"))))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48- , srcInfoPoints = []- }- (Ident+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 7 42 7 43+ , srcInfoPoints = []+ }+ 1+ "1"))))+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48 , srcInfoPoints = [] }- "n"))))))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 7 47 7 48+ , srcInfoPoints = []+ }+ "n"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -1033,7 +1069,7 @@ , srcInfoPoints = [] } "n")- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 16 8 19@@ -1068,6 +1104,8 @@ } "VCons") Nothing+ Nothing+ Nothing (TyForall SrcSpanInfo { srcInfoSpan =@@ -1096,88 +1134,98 @@ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 50 8 52 ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 48 , srcInfoPoints = [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 41 8 42 ] }- (TyVar+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40- , srcInfoPoints = []+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 41 8 42 ] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40 , srcInfoPoints = [] }- "n"))- (TyParen- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 48- , srcInfoPoints =- [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 44- , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 47 8 48- ]- }- (TyInfix+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 39 8 40+ , srcInfoPoints = []+ }+ "n"))+ (TyParen SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 47- , srcInfoPoints = []+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 48+ , srcInfoPoints =+ [ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 43 8 44+ , SrcSpan "tests/examples/InfixTypeMinus.hs" 8 47 8 48+ ] }- (TyVar+ (TyInfix SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 45+ SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 47 , srcInfoPoints = [] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 44 8 45 , srcInfoPoints = [] }- "m"))- (UnpromotedName- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 8 45 8 46- , srcInfoPoints = []- }- (UnQual+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 8 44 8 45+ , srcInfoPoints = []+ }+ "m"))+ (UnpromotedName SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 45 8 46 , srcInfoPoints = [] }- (Symbol+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 45 8 46 , srcInfoPoints = [] }- "+")))- (TyPromoted- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InfixTypeMinus.hs" 8 46 8 47- , srcInfoPoints = []- }- (PromotedInteger+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 8 45 8 46+ , srcInfoPoints = []+ }+ "+")))+ (TyPromoted SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InfixTypeMinus.hs" 8 46 8 47 , srcInfoPoints = [] }- 1- "1"))))))))+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InfixTypeMinus.hs" 8 46 8 47+ , srcInfoPoints = []+ }+ 1+ "1"))))))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/InjectiveTypeFamilies.hs.parser.golden view
@@ -415,25 +415,19 @@ , srcInfoPoints = [] } "result")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35- , srcInfoPoints = []- }- "k"))))))+ "k"))))) (Just (InjectivityInfo SrcSpanInfo@@ -1022,25 +1016,19 @@ , srcInfoPoints = [] } "a")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22- , srcInfoPoints = []- }- "k")))))+ "k")))) (UnkindedVar SrcSpanInfo { srcInfoSpan =@@ -1071,25 +1059,19 @@ , srcInfoPoints = [] } "c")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33- , srcInfoPoints = []- }- "k")))))+ "k")))) (Just (TyVarSig SrcSpanInfo@@ -1576,25 +1558,19 @@ , srcInfoPoints = [] } "b")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24- , srcInfoPoints = []- }- "k")))))+ "k")))) (Just (TyVarSig SrcSpanInfo@@ -2988,7 +2964,7 @@ , srcInfoPoints = [] } "a")- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 27 53 28@@ -3011,7 +2987,7 @@ , srcInfoPoints = [] } "b")- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 36 53 37@@ -3034,7 +3010,7 @@ , srcInfoPoints = [] } "c")- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 45 53 46@@ -3519,25 +3495,19 @@ , srcInfoPoints = [] } "b")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30- , srcInfoPoints = []- }- "k")))))+ "k")))) (Just (TyVarSig SrcSpanInfo@@ -8793,25 +8763,19 @@ , srcInfoPoints = [] } "a")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23- , srcInfoPoints = []- }- "k1")))))+ "k1")))) (Just (TyVarSig SrcSpanInfo@@ -8837,25 +8801,19 @@ , srcInfoPoints = [] } "r")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35- , srcInfoPoints = []- }- "k2"))))))+ "k2"))))) (Just (InjectivityInfo SrcSpanInfo@@ -9220,7 +9178,7 @@ , srcInfoPoints = [] } "a")- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 19 176 20@@ -9295,13 +9253,13 @@ , srcInfoPoints = [] } "kproxy")- (KindApp+ (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 35 , srcInfoPoints = [] }- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33@@ -9320,25 +9278,19 @@ , srcInfoPoints = [] } "KProxy")))- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35- , srcInfoPoints = []- }- "k"))))))+ "k"))))) (Just (TyVarSig SrcSpanInfo@@ -9458,13 +9410,13 @@ , srcInfoPoints = [] } "KProxy"))))- (KindApp+ (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 41 , srcInfoPoints = [] }- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36@@ -9483,7 +9435,7 @@ , srcInfoPoints = [] } "KProxy")))- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41@@ -9594,13 +9546,13 @@ , srcInfoPoints = [] } "KProxy"))))- (KindApp+ (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 38 , srcInfoPoints = [] }- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36@@ -9619,7 +9571,7 @@ , srcInfoPoints = [] } "KProxy")))- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 37 179 38@@ -9729,13 +9681,13 @@ , srcInfoPoints = [] } "KProxy"))))- (KindApp+ (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 37 , srcInfoPoints = [] }- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35@@ -9754,25 +9706,19 @@ , srcInfoPoints = [] } "KProxy")))- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37- , srcInfoPoints = []- }- "k"))))))+ "k"))))) (TyApp SrcSpanInfo { srcInfoSpan =@@ -9836,13 +9782,13 @@ , srcInfoPoints = [] } "KProxy"))))- (KindApp+ (TyApp SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 65 , srcInfoPoints = [] }- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63@@ -9861,25 +9807,19 @@ , srcInfoPoints = [] } "KProxy")))- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65- , srcInfoPoints = []- }- "k")))))))+ "k")))))) , FunBind SrcSpanInfo { srcInfoSpan =@@ -12015,25 +11955,19 @@ , srcInfoPoints = [] } "a")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23- , srcInfoPoints = []- }- "k")))))+ "k")))) (Just (TyVarSig SrcSpanInfo@@ -12059,25 +11993,19 @@ , srcInfoPoints = [] } "result")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39- , srcInfoPoints = []- }- "k"))))))+ "k"))))) (Just (InjectivityInfo SrcSpanInfo@@ -12215,25 +12143,19 @@ , srcInfoPoints = [] } "a")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28- , srcInfoPoints = []- }- "k")))))+ "k")))) (UnkindedVar SrcSpanInfo { srcInfoSpan =@@ -12556,25 +12478,19 @@ , srcInfoPoints = [] } "a")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31- , srcInfoPoints = []- }- "k")))))+ "k")))) (UnkindedVar SrcSpanInfo { srcInfoSpan =@@ -12818,25 +12734,19 @@ , srcInfoPoints = [] } "a")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23- , srcInfoPoints = []- }- "k")))))+ "k")))) (KindedVar SrcSpanInfo { srcInfoSpan =@@ -12854,25 +12764,19 @@ , srcInfoPoints = [] } "b")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32- , srcInfoPoints = []- }- "k")))))+ "k")))) (Just (TyVarSig SrcSpanInfo@@ -12898,25 +12802,19 @@ , srcInfoPoints = [] } "r")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44- , srcInfoPoints = []- }- "k2"))))))+ "k2"))))) (Just (InjectivityInfo SrcSpanInfo@@ -13079,20 +12977,20 @@ , srcInfoPoints = [] } "repr")- (KindFn+ (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 26 236 32 , srcInfoPoints = [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 28 236 30 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 26 236 27 , srcInfoPoints = [] })- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 31 236 32@@ -13115,7 +13013,7 @@ , srcInfoPoints = [] } "a")- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 40 236 41@@ -13138,7 +13036,7 @@ , srcInfoPoints = [] } "b")- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 49 236 50@@ -13169,7 +13067,7 @@ , srcInfoPoints = [] } "r")- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 60 236 61@@ -15569,40 +15467,53 @@ , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 34 254 36 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31 , srcInfoPoints = [] }- "Manifold'"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan- "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29+ , srcInfoPoints = []+ }+ "Manifold'")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/MultiCtxt.hs.parser.golden view
@@ -72,35 +72,46 @@ , srcInfoPoints = [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23 , srcInfoPoints = [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20+ , srcInfoPoints = []+ }+ "a")))))) (TyParen SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 24 5 37@@ -122,35 +133,49 @@ , srcInfoPoints = [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34 , srcInfoPoints = [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31+ , srcInfoPoints = []+ }+ "a")))))) (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 35 5 36
tests/examples/MultiParam.hs.parser.golden view
@@ -56,46 +56,64 @@ , srcInfoPoints = [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25 , srcInfoPoints = [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ] }- (Ident+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/MultiParam.hs" 3 23 3 25 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/MultiParam.hs" 3 8 3 18+ , srcInfoPoints = []+ }+ "MonadError")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20+ , srcInfoPoints = []+ }+ "e")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22 , srcInfoPoints = [] }- "MonadError"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 19 3 20- , srcInfoPoints = []- }- "e")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22- , srcInfoPoints = []- }- "m")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 21 3 22+ , srcInfoPoints = []+ }+ "m")))))) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/MultiParam.hs" 3 26 3 35
+ tests/examples/NoStartNumIdents.hs view
@@ -0,0 +1,1 @@+1a = ()
+ tests/examples/NoStartNumIdents.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.parser.golden view
@@ -0,0 +1,3 @@+ParseFailed+ (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1)+ "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
+ tests/examples/NoStartNumIdents.hs.prettyprinter.golden view
@@ -0,0 +1,1 @@+ParseFailed (SrcLoc "tests/examples/NoStartNumIdents.hs" 2 1) "Parse error in pattern: 1"
tests/examples/OverloadedLabels.hs.parser.golden view
@@ -425,54 +425,74 @@ , srcInfoPoints = [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25 , srcInfoPoints = [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13- , srcInfoPoints = []+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ] }- (Ident+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 13+ , srcInfoPoints = []+ }+ "IsLabel")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20+ , srcInfoPoints = []+ }+ (PromotedString+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20+ , srcInfoPoints = []+ }+ "true"+ "true")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22 , srcInfoPoints = [] }- "IsLabel"))- [ TyPromoted- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20- , srcInfoPoints = []- }- (PromotedString- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/OverloadedLabels.hs" 19 14 19 20- , srcInfoPoints = []- }- "true"- "true")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22- , srcInfoPoints = []- }- "t")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22+ , srcInfoPoints = []+ }+ "t")))))) (TyVar SrcSpanInfo { srcInfoSpan =
tests/examples/PartialSignatures.hs.parser.golden view
@@ -4024,14 +4024,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 51 10 51 14 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 51 10 51 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 51 12 51 14 ]+ }+ Nothing)))) (TyWildCard SrcSpanInfo { srcInfoSpan =@@ -4110,14 +4117,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 55 10 55 14 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 55 10 55 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 55 12 55 14 ]+ }+ Nothing)))) (TyWildCard SrcSpanInfo { srcInfoSpan =@@ -4440,47 +4454,60 @@ { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19 , srcInfoPoints =- [ SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19 ]+ [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+ ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 16+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19 , srcInfoPoints =- [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11 ]+ [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+ ] }- (TyVar+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9- , srcInfoPoints = []+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 61 10 61 11+ , SrcSpan "tests/examples/PartialSignatures.hs" 61 17 61 19+ ] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9 , srcInfoPoints = [] }- "a"))- (TyCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16- , srcInfoPoints = []- }- (UnQual+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 8 61 9+ , srcInfoPoints = []+ }+ "a"))+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16 , srcInfoPoints = [] }- (Ident+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16 , srcInfoPoints = [] }- "Bool"))))))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 61 12 61 16+ , srcInfoPoints = []+ }+ "Bool"))))))) (TyTuple SrcSpanInfo { srcInfoSpan =@@ -5765,14 +5792,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 82 13 82 17 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 82 13 82 17+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 82 15 82 17 ]+ }+ Nothing)))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -6093,46 +6127,63 @@ , SrcSpan "tests/examples/PartialSignatures.hs" 85 25 85 27 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 20 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20- , srcInfoPoints = []- }- "a")- ]- , WildCardA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 14 85 18+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 19 85 20+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 85 22 85 23 , srcInfoPoints = [] }- Nothing+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 85 22 85 23+ , srcInfoPoints = []+ }+ Nothing) ])) (TyFun SrcSpanInfo@@ -6294,79 +6345,107 @@ , SrcSpan "tests/examples/PartialSignatures.hs" 88 33 88 35 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 20 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20- , srcInfoPoints = []- }- "a")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 14 88 18+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 19 88 20+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 28 , srcInfoPoints = [] }- "Enum"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28- , srcInfoPoints = []- }- "a")- ]- , WildCardA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 22 88 26+ , srcInfoPoints = []+ }+ "Enum")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 27 88 28+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 88 30 88 31 , srcInfoPoints = [] }- Nothing+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 88 30 88 31+ , srcInfoPoints = []+ }+ Nothing) ])) (TyFun SrcSpanInfo@@ -6527,46 +6606,63 @@ , SrcSpan "tests/examples/PartialSignatures.hs" 91 23 91 25 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 18 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18- , srcInfoPoints = []- }- "a")- ]- , WildCardA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 14 91 16+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 17 91 18+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 91 20 91 21 , srcInfoPoints = [] }- Nothing+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 91 20 91 21+ , srcInfoPoints = []+ }+ Nothing) ])) (TyFun SrcSpanInfo@@ -6729,112 +6825,151 @@ , SrcSpan "tests/examples/PartialSignatures.hs" 94 39 94 41 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 18 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18- , srcInfoPoints = []- }- "a")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 14 94 16+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 17 94 18+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 26 , srcInfoPoints = [] }- "Enum"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26- , srcInfoPoints = []- }- "a")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 20 94 24+ , srcInfoPoints = []+ }+ "Enum")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 25 94 26+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 34 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34- , srcInfoPoints = []- }- "a")- ]- , WildCardA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 28 94 32+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 33 94 34+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 94 36 94 37 , srcInfoPoints = [] }- Nothing+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 94 36 94 37+ , srcInfoPoints = []+ }+ Nothing) ])) (TyFun SrcSpanInfo@@ -6991,14 +7126,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 98 8 98 12 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 98 8 98 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 98 10 98 12 ]+ }+ Nothing)))) (TyCon SrcSpanInfo { srcInfoSpan =@@ -7089,14 +7231,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 105 8 105 12 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 105 8 105 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 105 10 105 12 ]+ }+ Nothing)))) (TyVar SrcSpanInfo { srcInfoSpan =@@ -7181,14 +7330,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 109 8 109 12 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 109 8 109 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 109 10 109 12 ]+ }+ Nothing)))) (TyVar SrcSpanInfo { srcInfoSpan =@@ -10535,13 +10691,19 @@ , SrcSpan "tests/examples/PartialSignatures.hs" 187 10 187 12 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 187 7 187 8 , srcInfoPoints = [] }- Nothing))))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 187 7 187 8+ , srcInfoPoints = []+ }+ Nothing))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -12349,41 +12511,54 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16- , srcInfoPoints = []+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 230 20 230 22 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 12 230 16+ , srcInfoPoints = []+ }+ "Show")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 17 230 19 , srcInfoPoints = [] }- "Show"))- [ TyWildCard- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 230 17 230 19- , srcInfoPoints = []- }- (Just- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 230 18 230 19- , srcInfoPoints = []- }- "a"))- ])))+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 230 18 230 19+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -13138,41 +13313,54 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26- , srcInfoPoints = []+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 246 30 246 32 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 22 246 26+ , srcInfoPoints = []+ }+ "Show")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 27 246 29 , srcInfoPoints = [] }- "Show"))- [ TyWildCard- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 246 27 246 29- , srcInfoPoints = []- }- (Just- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 246 28 246 29- , srcInfoPoints = []- }- "x"))- ])))+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 246 28 246 29+ , srcInfoPoints = []+ }+ "x"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -14211,14 +14399,21 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ] }- (WildCardA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 261 7 261 11 , srcInfoPoints = [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ] }- Nothing)))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 261 7 261 11+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PartialSignatures.hs" 261 9 261 11 ]+ }+ Nothing)))) (TyWildCard SrcSpanInfo { srcInfoSpan =@@ -16075,47 +16270,64 @@ , SrcSpan "tests/examples/PartialSignatures.hs" 289 21 289 23 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 16 , srcInfoPoints = [] }- "Show"))- [ TyWildCard- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 289 14 289 16- , srcInfoPoints = []- }- (Just- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PartialSignatures.hs" 289 15 289 16- , srcInfoPoints = []- }- "a"))- ]- , WildCardA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 9 289 13+ , srcInfoPoints = []+ }+ "Show")))+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 14 289 16+ , srcInfoPoints = []+ }+ (Just+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 15 289 16+ , srcInfoPoints = []+ }+ "a"))))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PartialSignatures.hs" 289 18 289 19 , srcInfoPoints = [] }- Nothing+ (TyWildCard+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PartialSignatures.hs" 289 18 289 19+ , srcInfoPoints = []+ }+ Nothing) ])) (TyFun SrcSpanInfo
tests/examples/PatternSynonymSignatures.hs.parser.golden view
@@ -57,6 +57,7 @@ Nothing Nothing Nothing+ Nothing (TyCon SrcSpanInfo { srcInfoSpan =@@ -105,6 +106,7 @@ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 6 19 6 21 ] }))+ Nothing (Just (CxEmpty SrcSpanInfo@@ -161,40 +163,54 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25 , srcInfoPoints = [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20- , srcInfoPoints = []+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 23 8 25 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 16 8 20+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 21 8 22+ , srcInfoPoints = []+ }+ "a"))))))+ Nothing (Just (CxSingle SrcSpanInfo@@ -203,40 +219,53 @@ , srcInfoPoints = [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35 , srcInfoPoints = [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30- , srcInfoPoints = []+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 33 8 35 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 26 8 30+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32- , srcInfoPoints = []- }- "b")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 8 31 8 32+ , srcInfoPoints = []+ }+ "b")))))) (TyCon SrcSpanInfo { srcInfoSpan =@@ -283,7 +312,7 @@ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25@@ -291,34 +320,51 @@ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20- , srcInfoPoints = []+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25+ ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 23 10 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PatternSynonymSignatures.hs" 10 16 10 20+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22- , srcInfoPoints = []- }- "b")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 10 21 10 22+ , srcInfoPoints = []+ }+ "b")))))) Nothing+ Nothing (TyCon SrcSpanInfo { srcInfoSpan =@@ -365,7 +411,7 @@ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25@@ -373,33 +419,50 @@ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20- , srcInfoPoints = []+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25+ ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 25+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 23 12 25+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PatternSynonymSignatures.hs" 12 16 12 20+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22- , srcInfoPoints = []- }- "b")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 12 21 12 22+ , srcInfoPoints = []+ }+ "b"))))))+ Nothing (Just (CxEmpty SrcSpanInfo@@ -459,6 +522,7 @@ , SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 19 14 21 ] }))+ Nothing (Just (CxSingle SrcSpanInfo@@ -468,7 +532,7 @@ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31@@ -476,33 +540,49 @@ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26- , srcInfoPoints = []+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31+ ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 29 14 31+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/PatternSynonymSignatures.hs" 14 22 14 26+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28- , srcInfoPoints = []- }- "b")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonymSignatures.hs" 14 27 14 28+ , srcInfoPoints = []+ }+ "b")))))) (TyCon SrcSpanInfo { srcInfoSpan =
tests/examples/PatternSynonyms3.hs.parser.golden view
@@ -464,6 +464,7 @@ Nothing Nothing Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan =@@ -601,6 +602,7 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 22 16 24 ] }))+ Nothing (Just (CxSingle SrcSpanInfo@@ -622,39 +624,50 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 16 34 16 36 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 32 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 26 16 30+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 16 31 16 32+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -806,39 +819,50 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 19 15 19 17 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 13 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 7 19 11+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 19 12 19 13+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -991,6 +1015,7 @@ Nothing Nothing Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan =@@ -1192,39 +1217,50 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 25 15 25 17 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 13 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 7 25 11+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 25 12 25 13+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =@@ -1483,6 +1519,7 @@ Nothing Nothing Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan =@@ -1776,6 +1813,7 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 34 37 34 39 ] }))+ Nothing (Just (CxEmpty SrcSpanInfo@@ -1845,71 +1883,83 @@ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 31 36 33 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 29 , srcInfoPoints = [] }- "Show"))- [ TyTuple- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 29- , srcInfoPoints =- [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 21- , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 22 36 23- , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 28 36 29- ]- }- Boxed- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22- , srcInfoPoints = []- }- "a")- , TyCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28- , srcInfoPoints = []- }- "Bool"))- ]- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 15 36 19+ , srcInfoPoints = []+ }+ "Show")))+ (TyTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 20 36 21+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 22 36 23+ , SrcSpan "tests/examples/PatternSynonyms3.hs" 36 28 36 29+ ]+ }+ Boxed+ [ TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 21 36 22+ , srcInfoPoints = []+ }+ "a")+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PatternSynonyms3.hs" 36 24 36 28+ , srcInfoPoints = []+ }+ "Bool"))+ ])))))) Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan =@@ -2215,6 +2265,7 @@ Nothing Nothing Nothing+ Nothing (TyApp SrcSpanInfo { srcInfoSpan =@@ -2368,6 +2419,7 @@ Nothing Nothing Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan =@@ -3237,6 +3289,8 @@ , srcInfoPoints = [] } "MkT")+ Nothing+ Nothing Nothing (TyFun SrcSpanInfo
tests/examples/PolyKindSigs.hs.parser.golden view
@@ -89,18 +89,18 @@ } "Foo")) (Just- (KindFn+ (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 13 7 19 , srcInfoPoints = [ SrcSpan "tests/examples/PolyKindSigs.hs" 7 15 7 17 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 13 7 14 , srcInfoPoints = [] })- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/PolyKindSigs.hs" 7 18 7 19 , srcInfoPoints = []@@ -117,6 +117,8 @@ , srcInfoPoints = [] } "Foo")+ Nothing+ Nothing Nothing (TyApp SrcSpanInfo
+ tests/examples/PromotedSpace.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE DataKinds #-}+module PromotedSpace where++-- Promoted list containing promoted constructor with quote+type PL1 = '[ 'True ]++-- Promoted list containing promoted list+type PL2 = '[ '[Int] ]++-- Promoted list containing promoted tuple+type PL3 = '[ '(Int, Bool) ]++-- Promoted tuple containing promoted constructor with quote+type PT1 = '( 'True, False )++-- Promoted tuple containing promoted list+type PT2 = '( '[Int], Bool )++-- Promoted tuple containing promoted tuple+type PT3 = '( '(Int, Bool), Char )
+ tests/examples/PromotedSpace.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PromotedSpace.hs.parser.golden view
@@ -0,0 +1,617 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 1 1 21 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 1 1 1 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 5 1 5 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 1 8 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 1 11 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 1 14 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 1 17 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 1 20 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 21 1 21 1+ , SrcSpan "tests/examples/PromotedSpace.hs" 21 1 21 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 2 1 2 7+ , SrcSpan "tests/examples/PromotedSpace.hs" 2 22 2 27+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 2 8 2 21+ , srcInfoPoints = []+ }+ "PromotedSpace")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 1 1 1 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 1 1 1 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 1 24 1 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 1 14 1 23+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ ]+ []+ [ TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 1 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 1 5 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 5 10 5 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 6 5 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 6 5 9+ , srcInfoPoints = []+ }+ "PL1"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 5 21 5 22+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 12 5 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 5 21 5 22+ ]+ }+ True+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 16 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 5 15 5 16 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 16 5 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 5 16 5 20+ , srcInfoPoints = []+ }+ "True")))+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 1 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 1 8 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 10 8 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ "PL2"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 22 8 23+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 12 8 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 22 8 23+ ]+ }+ True+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 20 8 21+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 8 15 8 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 8 20 8 21+ ]+ }+ True+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 17 8 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 8 17 8 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 8 17 8 20+ , srcInfoPoints = []+ }+ "Int"))+ ])+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 1 11 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 1 11 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 10 11 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 11 6 11 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 11 6 11 9+ , srcInfoPoints = []+ }+ "PL3"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 28 11 29+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 12 11 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 28 11 29+ ]+ }+ True+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 20 11 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 26 11 27+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 11 15 11 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 20 11 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 11 26 11 27+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 17 11 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 17 11 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 17 11 20+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 22 11 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 22 11 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 11 22 11 26+ , srcInfoPoints = []+ }+ "Bool"))+ ])+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 1 14 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 1 14 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 10 14 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 14 6 14 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 14 6 14 9+ , srcInfoPoints = []+ }+ "PT1"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 20 14 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 28 14 29+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 12 14 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 20 14 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 14 28 14 29+ ]+ }+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 16 ]+ }+ (PromotedCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 14 15 14 16 ]+ }+ True+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 16 14 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 16 14 20+ , srcInfoPoints = []+ }+ "True")))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 22 14 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 22 14 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 14 22 14 27+ , srcInfoPoints = []+ }+ "False"))+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 1 17 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 1 17 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 10 17 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 17 6 17 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 17 6 17 9+ , srcInfoPoints = []+ }+ "PT2"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 21 17 22+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 28 17 29+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 12 17 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 21 17 22+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 28 17 29+ ]+ }+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 20 17 21+ ]+ }+ (PromotedList+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 17 15 17 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 17 20 17 21+ ]+ }+ True+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 17 17 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 17 17 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 17 17 20+ , srcInfoPoints = []+ }+ "Int"))+ ])+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 23 17 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 23 17 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 17 23 17 27+ , srcInfoPoints = []+ }+ "Bool"))+ ]))+ , TypeDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 1 20 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 1 20 5+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 10 20 11+ ]+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 20 6 20 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/PromotedSpace.hs" 20 6 20 9+ , srcInfoPoints = []+ }+ "PT3"))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 27 20 28+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 34 20 35+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 12 20 13+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 27 20 28+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 34 20 35+ ]+ }+ [ TyPromoted+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 20 20 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 26 20 27+ ]+ }+ (PromotedTuple+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/PromotedSpace.hs" 20 15 20 16+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 20 20 21+ , SrcSpan "tests/examples/PromotedSpace.hs" 20 26 20 27+ ]+ }+ [ TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 17 20 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 17 20 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 17 20 20+ , srcInfoPoints = []+ }+ "Int"))+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 22 20 26+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 22 20 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 22 20 26+ , srcInfoPoints = []+ }+ "Bool"))+ ])+ , TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 29 20 33+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 29 20 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/PromotedSpace.hs" 20 29 20 33+ , srcInfoPoints = []+ }+ "Char"))+ ]))+ ]+ , [ Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 4 1 4 60)+ " Promoted list containing promoted constructor with quote"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 7 1 7 42)+ " Promoted list containing promoted list"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 10 1 10 43)+ " Promoted list containing promoted tuple"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 13 1 13 61)+ " Promoted tuple containing promoted constructor with quote"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 16 1 16 43)+ " Promoted tuple containing promoted list"+ , Comment+ False+ (SrcSpan "tests/examples/PromotedSpace.hs" 19 1 19 44)+ " Promoted tuple containing promoted tuple"+ ]+ )
+ tests/examples/PromotedSpace.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/PromotedSpace.hs.prettyprinter.golden view
@@ -0,0 +1,14 @@+{-# LANGUAGE DataKinds #-}+module PromotedSpace where++type PL1 = '[ 'True]++type PL2 = '[ '[Int]]++type PL3 = '[ '(Int, Bool)]++type PT1 = '( 'True, False)++type PT2 = '( '[Int], Bool)++type PT3 = '( '(Int, Bool), Char)
+ tests/examples/QuantifiedConstraints.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitForAll #-}+{-# LANGUAGE QuantifiedConstraints #-}++class (forall a. Eq (f a)) => C f
+ tests/examples/QuantifiedConstraints.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuantifiedConstraints.hs.parser.golden view
@@ -0,0 +1,222 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 5 1 5 1+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 5 1 5 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 1 1 13+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 29 1 32+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 1 14 1 28+ , srcInfoPoints = []+ }+ "ExplicitForAll"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 1 2 13+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 36 2 39+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 2 14 2 35+ , srcInfoPoints = []+ }+ "QuantifiedConstraints"+ ]+ ]+ []+ [ ClassDecl+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 1 4 6 ]+ }+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 8+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 26 4 27+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 28 4 30+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 7 4 8+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 26 4 27+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 28 4 30+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 14+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 16 4 17+ ]+ }+ (TyForall+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 8 4 14+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 16 4 17+ ]+ }+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 15 4 16+ , srcInfoPoints = []+ }+ "a")+ ])+ Nothing+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 18 4 20+ , srcInfoPoints = []+ }+ "Eq")))+ (TyParen+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 21 4 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 21 4 22+ , SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 25 4 26+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 22 4 25+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 22 4 23+ , srcInfoPoints = []+ }+ "f"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 24 4 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/QuantifiedConstraints.hs" 4 24 4 25+ , srcInfoPoints = []+ }+ "a"))))))))))+ (DHApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 34+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 31 4 32+ , srcInfoPoints = []+ }+ "C"))+ (UnkindedVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/QuantifiedConstraints.hs" 4 33 4 34+ , srcInfoPoints = []+ }+ "f")))+ []+ Nothing+ ]+ , []+ )
+ tests/examples/QuantifiedConstraints.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/QuantifiedConstraints.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE ExplicitForAll #-}+{-# LANGUAGE QuantifiedConstraints #-}++class (forall a . Eq (f a)) => C f
tests/examples/RCategory.hs.parser.golden view
@@ -286,1650 +286,1928 @@ , srcInfoPoints = [ SrcSpan "tests/examples/RCategory.hs" 15 30 15 32 ] }- (KindVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43- , srcInfoPoints = []- }- "Constraint")))))- Nothing- , ClsDecl- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]- }- (TypeSig- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]- }- [ Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 18 5- , srcInfoPoints = []- }- "id"- ]- (TyForall- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 16- , srcInfoPoints = []- }- Nothing- (Just- (CxSingle- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]- }- (ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 9 18 22- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 9 18 22- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 23 18 26- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 23 18 26- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 27 18 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 27 18 28- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 29 18 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 18 29 18 30- , srcInfoPoints = []- }- "a")- ])))- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 16- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 14- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 12- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 19 9 19 12- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 13 19 14- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 19 13 19 14- , srcInfoPoints = []- }- "a")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16- , srcInfoPoints = []- }- "a")))))- , ClsDecl- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]- }- (TypeSig- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]- }- [ Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 22 6- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 22 3 22 4- , SrcSpan "tests/examples/RCategory.hs" 22 4 22 5- , SrcSpan "tests/examples/RCategory.hs" 22 5 22 6- ]- }- "."- ]- (TyForall- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 39- , srcInfoPoints = []- }- Nothing- (Just- (CxTuple- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 9- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 22 10 22 11- , SrcSpan "tests/examples/RCategory.hs" 22 32 22 33- , SrcSpan "tests/examples/RCategory.hs" 22 55 22 56- , SrcSpan "tests/examples/RCategory.hs" 22 78 22 79- , SrcSpan "tests/examples/RCategory.hs" 23 7 23 9- ]- }- [ ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 11 22 32- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 11 22 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 11 22 24- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 25 22 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 25 22 28- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 29 22 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 29 22 30- , srcInfoPoints = []- }- "b")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 31 22 32- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 31 22 32- , srcInfoPoints = []- }- "c")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 34 22 55- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 34 22 47- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 34 22 47- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 48 22 51- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 48 22 51- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 52 22 53- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 52 22 53- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 54 22 55- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 54 22 55- , srcInfoPoints = []- }- "b")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 57 22 78- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 57 22 70- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 57 22 70- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 71 22 74- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 71 22 74- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 75 22 76- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 75 22 76- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 77 22 78- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 22 77 22 78- , srcInfoPoints = []- }- "c")- ]- ]))- (TyFun- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 23 18 23 20 ]- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 17- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 15- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 10 23 13- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 10 23 13- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 14 23 15- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 14 23 15- , srcInfoPoints = []- }- "b")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 16 23 17- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 16 23 17- , srcInfoPoints = []- }- "c")))- (TyFun- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 23 29 23 31 ]- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 28- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 21 23 26- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 21 23 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 21 23 24- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 25 23 26- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 25 23 26- , srcInfoPoints = []- }- "a")))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 27 23 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 27 23 28- , srcInfoPoints = []- }- "b")))- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 32 23 39- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 32 23 37- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 32 23 35- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 32 23 35- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 36 23 37- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 36 23 37- , srcInfoPoints = []- }- "a")))- (TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 38 23 39- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 23 38 23 39- , srcInfoPoints = []- }- "c")))))))- ])- , RulePragmaDecl- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 25 1 30 5- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 25 1 25 10- , SrcSpan "tests/examples/RCategory.hs" 30 2 30 5- ]- }- [ Rule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 1 27 27- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 26 1 26 16- , SrcSpan "tests/examples/RCategory.hs" 26 17 26 23- , SrcSpan "tests/examples/RCategory.hs" 26 26 26 27- , SrcSpan "tests/examples/RCategory.hs" 27 24 27 25- ]- }- "identity/left"- Nothing- (Just- [ RuleVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25- , srcInfoPoints = []- }- "p")- ])- (InfixApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 23- , srcInfoPoints = []- }- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19- , srcInfoPoints = []- }- "id")))- (QVarOp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21- , srcInfoPoints = []- }- (Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21- , srcInfoPoints = []- }- ".")))- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23- , srcInfoPoints = []- }- "p"))))- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27- , srcInfoPoints = []- }- "p")))- , Rule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 1 29 27- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 28 1 28 17- , SrcSpan "tests/examples/RCategory.hs" 28 25 28 31- , SrcSpan "tests/examples/RCategory.hs" 28 34 28 35- , SrcSpan "tests/examples/RCategory.hs" 29 24 29 25- ]- }- "identity/right"- Nothing- (Just- [ RuleVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33- , srcInfoPoints = []- }- "p")- ])- (InfixApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 23- , srcInfoPoints = []- }- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18- , srcInfoPoints = []- }- "p")))- (QVarOp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20- , srcInfoPoints = []- }- (Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20- , srcInfoPoints = []- }- ".")))- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23- , srcInfoPoints = []- }- "id"))))- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27- , srcInfoPoints = []- }- "p")))- ]- , InstDecl- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 1 38 0- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 32 1 32 9- , SrcSpan "tests/examples/RCategory.hs" 32 25 32 30- , SrcSpan "tests/examples/RCategory.hs" 33 3 33 3- , SrcSpan "tests/examples/RCategory.hs" 34 3 34 3- , SrcSpan "tests/examples/RCategory.hs" 35 3 35 3- , SrcSpan "tests/examples/RCategory.hs" 38 1 38 0- ]- }- Nothing- (IRule- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24- , srcInfoPoints = []- }- Nothing- Nothing- (IHApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24- , srcInfoPoints = []- }- (IHCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19- , srcInfoPoints = []- }- "RCategory")))- (TyCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21- , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23- , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24- ]- }- (Special- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21- , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23- , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24- ]- }- (FunCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21- , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23- , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24- ]- })))))- (Just- [ InsType- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 3 33 35- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 3 33 7- , SrcSpan "tests/examples/RCategory.hs" 33 31 33 32- ]- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 30- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 28- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 26- , srcInfoPoints = []- }- (TyCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 33 8 33 21- , srcInfoPoints = []- }- "RCategoryCtxt")))- (TyCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23- , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25- , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26- ]- }- (Special- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23- , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25- , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26- ]- }- (FunCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/RCategory.hs" 33 22 33 26- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23- , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25- , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26- ]- }))))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28- , srcInfoPoints = []- }- "a")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30- , srcInfoPoints = []- }- "a")))- (TyCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34- , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35- ]- }- (Special- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34- , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35- ]- }- (UnitCon- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34- , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35- ]- })))- , InsDecl- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18- , srcInfoPoints = []- }- (PatBind- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18- , srcInfoPoints = []- }- (PVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5- , srcInfoPoints = []- }- "id"))- (UnGuardedRhs- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 6 34 18- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 34 6 34 7 ]- }- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18- , srcInfoPoints = []- }- (Qual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18- , srcInfoPoints = []- }- (ModuleName- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18- , srcInfoPoints = []- }- "Prelude")- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18- , srcInfoPoints = []- }- "id"))))- Nothing)- , InsDecl- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20- , srcInfoPoints = []- }- (PatBind- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20- , srcInfoPoints = []- }- (PVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 6- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 35 3 35 4- , SrcSpan "tests/examples/RCategory.hs" 35 4 35 5- , SrcSpan "tests/examples/RCategory.hs" 35 5 35 6- ]- }- (Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 4 35 5- , srcInfoPoints = []- }- "."))- (UnGuardedRhs- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 7 35 20- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 35 7 35 8 ]- }- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10- , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19- , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20- ]- }- (Qual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10- , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19- , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20- ]- }- (ModuleName- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19- , srcInfoPoints = []- }- "Prelude")- (Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19- , srcInfoPoints = []- }- "."))))- Nothing)- ])- , TypeSig- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 39 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 38 7 38 9 ]- }- [ Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 38 6- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 38 1 38 2- , SrcSpan "tests/examples/RCategory.hs" 38 2 38 5- , SrcSpan "tests/examples/RCategory.hs" 38 5 38 6- ]- }- "<<<"- ]- (TyForall- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 39- , srcInfoPoints = []- }- Nothing- (Just- (CxTuple- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 9- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 38 10 38 11- , SrcSpan "tests/examples/RCategory.hs" 38 32 38 33- , SrcSpan "tests/examples/RCategory.hs" 38 55 38 56- , SrcSpan "tests/examples/RCategory.hs" 38 78 38 79- , SrcSpan "tests/examples/RCategory.hs" 38 93 38 94- , SrcSpan "tests/examples/RCategory.hs" 39 7 39 9- ]- }- [ ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 24- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 25 38 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 25 38 28- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32- , srcInfoPoints = []- }- "c")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 47- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 47- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 48 38 51- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 48 38 51- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55- , srcInfoPoints = []- }- "b")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 70- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 70- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 71 38 74- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 71 38 74- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76- , srcInfoPoints = []- }- "b")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78- , srcInfoPoints = []- }- "c")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89- , srcInfoPoints = []- }- "RCategory"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93- , srcInfoPoints = []- }- "cat")- ]- ]))- (TyFun- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 39 18 39 20 ]- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 17- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 15- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15- , srcInfoPoints = []- }- "b")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17- , srcInfoPoints = []- }- "c")))- (TyFun- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 39 29 39 31 ]- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 28- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 26- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26- , srcInfoPoints = []- }- "a")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28- , srcInfoPoints = []- }- "b")))- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 39- , srcInfoPoints = []- }- (TyApp- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 37- , srcInfoPoints = []- }- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35- , srcInfoPoints = []- }- "cat"))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37- , srcInfoPoints = []- }- "a")))- (TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39- , srcInfoPoints = []- }- "c"))))))- , PatBind- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 12- , srcInfoPoints = []- }- (PVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 6- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 40 1 40 2- , SrcSpan "tests/examples/RCategory.hs" 40 2 40 5- , SrcSpan "tests/examples/RCategory.hs" 40 5 40 6- ]- }- (Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 2 40 5- , srcInfoPoints = []- }- "<<<"))- (UnGuardedRhs- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 7 40 12- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 40 7 40 8 ]- }- (Var- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10- , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11- , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12- ]- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10- , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11- , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12- ]- }- (Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 10 40 11- , srcInfoPoints = []- }- "."))))- Nothing- , TypeSig- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 44 39- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 43 7 43 9 ]- }- [ Symbol- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 43 6- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 43 1 43 2- , SrcSpan "tests/examples/RCategory.hs" 43 2 43 5- , SrcSpan "tests/examples/RCategory.hs" 43 5 43 6- ]- }- ">>>"- ]- (TyForall- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 39- , srcInfoPoints = []- }- Nothing- (Just- (CxTuple- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 9- , srcInfoPoints =- [ SrcSpan "tests/examples/RCategory.hs" 43 10 43 11- , SrcSpan "tests/examples/RCategory.hs" 43 32 43 33- , SrcSpan "tests/examples/RCategory.hs" 43 55 43 56- , SrcSpan "tests/examples/RCategory.hs" 43 78 43 79- , SrcSpan "tests/examples/RCategory.hs" 43 93 43 94- , SrcSpan "tests/examples/RCategory.hs" 44 7 44 9- ]- }- [ ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 24- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 25 43 28- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 25 43 28- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32- , srcInfoPoints = []- }- "c")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 47- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 47- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 48 43 51- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 48 43 51- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53- , srcInfoPoints = []- }- "a")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55- , srcInfoPoints = []- }- "b")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 70- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 70- , srcInfoPoints = []- }- "RCategoryCtxt"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 71 43 74- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 71 43 74- , srcInfoPoints = []- }- "cat")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76- , srcInfoPoints = []- }- "b")- , TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78- , srcInfoPoints = []- }- "c")- ]- , ClassA- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93- , srcInfoPoints = []- }- (UnQual- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89- , srcInfoPoints = []- }- "RCategory"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93- , srcInfoPoints = []- }- "cat")- ]+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43+ , srcInfoPoints = []+ }+ "Constraint")))))+ Nothing+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 18 5+ , srcInfoPoints = []+ }+ "id"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 16+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 9 19 8+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 18 9 18 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 18 9 18 22+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 23 18 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 18 23 18 26+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 27 18 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 27 18 28+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 29 18 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 18 29 18 30+ , srcInfoPoints = []+ }+ "a"))))))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 16+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 14+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 19 9 19 12+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 13 19 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 19 13 19 14+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16+ , srcInfoPoints = []+ }+ "a")))))+ , ClsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]+ }+ (TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 22 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 22 3 22 4+ , SrcSpan "tests/examples/RCategory.hs" 22 4 22 5+ , SrcSpan "tests/examples/RCategory.hs" 22 5 22 6+ ]+ }+ "."+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 22 10 22 11+ , SrcSpan "tests/examples/RCategory.hs" 22 32 22 33+ , SrcSpan "tests/examples/RCategory.hs" 22 55 22 56+ , SrcSpan "tests/examples/RCategory.hs" 22 78 22 79+ , SrcSpan "tests/examples/RCategory.hs" 23 7 23 9+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 11 22 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 11 22 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 11 22 24+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 25 22 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 25 22 28+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 29 22 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 29 22 30+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 31 22 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 31 22 32+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 34 22 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 34 22 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 34 22 47+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 48 22 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 48 22 51+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 52 22 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 52 22 53+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 54 22 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 54 22 55+ , srcInfoPoints = []+ }+ "b")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 57 22 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 57 22 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 57 22 70+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 71 22 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/RCategory.hs" 22 71 22 74+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 75 22 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 75 22 76+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 77 22 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 22 77 22 78+ , srcInfoPoints = []+ }+ "c")))+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 23 18 23 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 17+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 15+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 10 23 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 10 23 13+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 14 23 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 14 23 15+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 16 23 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 16 23 17+ , srcInfoPoints = []+ }+ "c")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 23 29 23 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 21 23 26+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 21 23 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 21 23 24+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 25 23 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 25 23 26+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 27 23 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 27 23 28+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 32 23 39+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 32 23 37+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 32 23 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 32 23 35+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 36 23 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 36 23 37+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 38 23 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 23 38 23 39+ , srcInfoPoints = []+ }+ "c")))))))+ ])+ , RulePragmaDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 25 1 30 5+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 25 1 25 10+ , SrcSpan "tests/examples/RCategory.hs" 30 2 30 5+ ]+ }+ [ Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 1 27 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 26 1 26 16+ , SrcSpan "tests/examples/RCategory.hs" 26 17 26 23+ , SrcSpan "tests/examples/RCategory.hs" 26 26 26 27+ , SrcSpan "tests/examples/RCategory.hs" 27 24 27 25+ ]+ }+ "identity/left"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25+ , srcInfoPoints = []+ }+ "p")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19+ , srcInfoPoints = []+ }+ "id")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23+ , srcInfoPoints = []+ }+ "p"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27+ , srcInfoPoints = []+ }+ "p")))+ , Rule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 1 29 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 28 1 28 17+ , SrcSpan "tests/examples/RCategory.hs" 28 25 28 31+ , SrcSpan "tests/examples/RCategory.hs" 28 34 28 35+ , SrcSpan "tests/examples/RCategory.hs" 29 24 29 25+ ]+ }+ "identity/right"+ Nothing+ (Just+ [ RuleVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33+ , srcInfoPoints = []+ }+ "p")+ ])+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 23+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18+ , srcInfoPoints = []+ }+ "p")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20+ , srcInfoPoints = []+ }+ ".")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23+ , srcInfoPoints = []+ }+ "id"))))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27+ , srcInfoPoints = []+ }+ "p")))+ ]+ , InstDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 1 38 0+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 32 1 32 9+ , SrcSpan "tests/examples/RCategory.hs" 32 25 32 30+ , SrcSpan "tests/examples/RCategory.hs" 33 3 33 3+ , SrcSpan "tests/examples/RCategory.hs" 34 3 34 3+ , SrcSpan "tests/examples/RCategory.hs" 35 3 35 3+ , SrcSpan "tests/examples/RCategory.hs" 38 1 38 0+ ]+ }+ Nothing+ (IRule+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24+ , srcInfoPoints = []+ }+ Nothing+ Nothing+ (IHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24+ , srcInfoPoints = []+ }+ (IHCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19+ , srcInfoPoints = []+ }+ "RCategory")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+ , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+ , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+ , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+ , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21+ , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23+ , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24+ ]+ })))))+ (Just+ [ InsType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 3 33 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 3 33 7+ , SrcSpan "tests/examples/RCategory.hs" 33 31 33 32+ ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 30+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 26+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 33 8 33 21+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+ , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+ , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+ , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+ , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+ ]+ }+ (FunCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 33 22 33 26+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23+ , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25+ , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26+ ]+ }))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30+ , srcInfoPoints = []+ }+ "a")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+ , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+ , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34+ , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35+ ]+ })))+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5+ , srcInfoPoints = []+ }+ "id"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 6 34 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 34 6 34 7 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+ , srcInfoPoints = []+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+ , srcInfoPoints = []+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+ , srcInfoPoints = []+ }+ "Prelude")+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18+ , srcInfoPoints = []+ }+ "id"))))+ Nothing)+ , InsDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20+ , srcInfoPoints = []+ }+ (PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 35 3 35 4+ , SrcSpan "tests/examples/RCategory.hs" 35 4 35 5+ , SrcSpan "tests/examples/RCategory.hs" 35 5 35 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 4 35 5+ , srcInfoPoints = []+ }+ "."))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 7 35 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 35 7 35 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10+ , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+ , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20+ ]+ }+ (Qual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10+ , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+ , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+ , srcInfoPoints = []+ }+ "Prelude")+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19+ , srcInfoPoints = []+ }+ "."))))+ Nothing)+ ])+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 39 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 38 7 38 9 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 38 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 38 1 38 2+ , SrcSpan "tests/examples/RCategory.hs" 38 2 38 5+ , SrcSpan "tests/examples/RCategory.hs" 38 5 38 6+ ]+ }+ "<<<"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 38 10 38 11+ , SrcSpan "tests/examples/RCategory.hs" 38 32 38 33+ , SrcSpan "tests/examples/RCategory.hs" 38 55 38 56+ , SrcSpan "tests/examples/RCategory.hs" 38 78 38 79+ , SrcSpan "tests/examples/RCategory.hs" 38 93 38 94+ , SrcSpan "tests/examples/RCategory.hs" 39 7 39 9+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 11 38 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 11 38 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 11 38 24+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 25 38 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 25 38 28+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 29 38 30+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 34 38 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 34 38 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 34 38 47+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 48 38 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 48 38 51+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 52 38 53+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55+ , srcInfoPoints = []+ }+ "b")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 57 38 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 57 38 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 57 38 70+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 71 38 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 71 38 74+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 75 38 76+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 38 80 38 89+ , srcInfoPoints = []+ }+ "RCategory")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93+ , srcInfoPoints = []+ }+ "cat")))+ ]))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 39 18 39 20 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 17+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 15+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17+ , srcInfoPoints = []+ }+ "c")))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 39 29 39 31 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 28+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 26+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28+ , srcInfoPoints = []+ }+ "b")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 39+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 37+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35+ , srcInfoPoints = []+ }+ "cat"))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39+ , srcInfoPoints = []+ }+ "c"))))))+ , PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 12+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 40 1 40 2+ , SrcSpan "tests/examples/RCategory.hs" 40 2 40 5+ , SrcSpan "tests/examples/RCategory.hs" 40 5 40 6+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 2 40 5+ , srcInfoPoints = []+ }+ "<<<"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 7 40 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 40 7 40 8 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10+ , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+ , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10+ , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+ , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 10 40 11+ , srcInfoPoints = []+ }+ "."))))+ Nothing+ , TypeSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 44 39+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 43 7 43 9 ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 43 6+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 43 1 43 2+ , SrcSpan "tests/examples/RCategory.hs" 43 2 43 5+ , SrcSpan "tests/examples/RCategory.hs" 43 5 43 6+ ]+ }+ ">>>"+ ]+ (TyForall+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 39+ , srcInfoPoints = []+ }+ Nothing+ (Just+ (CxTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 9+ , srcInfoPoints =+ [ SrcSpan "tests/examples/RCategory.hs" 43 10 43 11+ , SrcSpan "tests/examples/RCategory.hs" 43 32 43 33+ , SrcSpan "tests/examples/RCategory.hs" 43 55 43 56+ , SrcSpan "tests/examples/RCategory.hs" 43 78 43 79+ , SrcSpan "tests/examples/RCategory.hs" 43 93 43 94+ , SrcSpan "tests/examples/RCategory.hs" 44 7 44 9+ ]+ }+ [ TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 11 43 32+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 11 43 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 11 43 24+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 25 43 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 25 43 28+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 29 43 30+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 34 43 55+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 34 43 47+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 34 43 47+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 48 43 51+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 48 43 51+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 52 43 53+ , srcInfoPoints = []+ }+ "a")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55+ , srcInfoPoints = []+ }+ "b")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 57 43 78+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 57 43 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 57 43 70+ , srcInfoPoints = []+ }+ "RCategoryCtxt")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 71 43 74+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 71 43 74+ , srcInfoPoints = []+ }+ "cat")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 75 43 76+ , srcInfoPoints = []+ }+ "b")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78+ , srcInfoPoints = []+ }+ "c")))+ , TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/RCategory.hs" 43 80 43 89+ , srcInfoPoints = []+ }+ "RCategory")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93+ , srcInfoPoints = []+ }+ "cat"))) ])) (TyFun SrcSpanInfo
tests/examples/RCategory2.hs.parser.golden view
@@ -170,7 +170,7 @@ , srcInfoPoints = [ SrcSpan "tests/examples/RCategory2.hs" 6 30 6 32 ] }- (KindVar+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43 , srcInfoPoints = []
tests/examples/ScopedTypeVariables.hs.parser.golden view
@@ -363,40 +363,53 @@ , srcInfoPoints = [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33 , srcInfoPoints = [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28- , srcInfoPoints = []+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 31 11 33 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 26 11 28+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30- , srcInfoPoints = []- }- "x")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/ScopedTypeVariables.hs" 11 29 11 30+ , srcInfoPoints = []+ }+ "x")))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/SingleClassAsst.hs.parser.golden view
@@ -74,39 +74,50 @@ , SrcSpan "tests/examples/SingleClassAsst.hs" 3 15 3 17 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 13 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13- , srcInfoPoints = []- }- "a")- ]))))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 9 3 11+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SingleClassAsst.hs" 3 12 3 13+ , srcInfoPoints = []+ }+ "a"))))))) (TyFun SrcSpanInfo { srcInfoSpan =
tests/examples/SpecializeInstance.hs.parser.golden view
@@ -43,40 +43,53 @@ , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20 , srcInfoPoints = [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15- , srcInfoPoints = []+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 20+ , srcInfoPoints =+ [ SrcSpan "tests/examples/SpecializeInstance.hs" 1 18 1 20 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 10 1 15+ , srcInfoPoints = []+ }+ "Sized")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17 , srcInfoPoints = [] }- "Sized"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializeInstance.hs" 1 16 1 17+ , srcInfoPoints = []+ }+ "a")))))) (IHApp SrcSpanInfo { srcInfoSpan =
tests/examples/SpecializePhaseControl.hs.parser.golden view
@@ -331,72 +331,95 @@ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 26 6 28 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12 , srcInfoPoints = [] }- "Num"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12- , srcInfoPoints = []- }- "a")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24 , srcInfoPoints = [] }- "Integral"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24- , srcInfoPoints = []- }- "b")- ]+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializePhaseControl.hs" 6 14 6 22+ , srcInfoPoints = []+ }+ "Integral")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24+ , srcInfoPoints = []+ }+ "b"))) ])) (TyFun SrcSpanInfo@@ -810,72 +833,96 @@ , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 26 14 28 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12 , srcInfoPoints = [] }- "Num"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12- , srcInfoPoints = []- }- "a")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializePhaseControl.hs" 14 7 14 10+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24 , srcInfoPoints = [] }- "Integral"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24- , srcInfoPoints = []- }- "b")- ]+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/SpecializePhaseControl.hs" 14 14 14 22+ , srcInfoPoints = []+ }+ "Integral")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24+ , srcInfoPoints = []+ }+ "b"))) ])) (TyFun SrcSpanInfo
tests/examples/T11727.hs.parser.golden view
@@ -72,6 +72,7 @@ Nothing Nothing Nothing+ Nothing (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/T11727.hs" 5 16 5 19
+ tests/examples/T326.hs view
@@ -0,0 +1,4 @@+{-# LANGUAGE TypeApplications #-}+module T326 where++(@:) a b = a
+ tests/examples/T326.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T326.hs.parser.golden view
@@ -0,0 +1,116 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 1 1 5 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T326.hs" 1 1 1 1+ , SrcSpan "tests/examples/T326.hs" 2 1 2 1+ , SrcSpan "tests/examples/T326.hs" 2 1 2 1+ , SrcSpan "tests/examples/T326.hs" 4 1 4 1+ , SrcSpan "tests/examples/T326.hs" 5 1 5 1+ , SrcSpan "tests/examples/T326.hs" 5 1 5 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 2 1 2 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T326.hs" 2 1 2 7+ , SrcSpan "tests/examples/T326.hs" 2 13 2 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 2 8 2 12+ , srcInfoPoints = []+ }+ "T326")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 1 1 1 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T326.hs" 1 1 1 13+ , SrcSpan "tests/examples/T326.hs" 1 31 1 34+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 1 14 1 30+ , srcInfoPoints = []+ }+ "TypeApplications"+ ]+ ]+ []+ [ FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 1 4 13+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 1 4 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/T326.hs" 4 1 4 2+ , SrcSpan "tests/examples/T326.hs" 4 2 4 4+ , SrcSpan "tests/examples/T326.hs" 4 4 4 5+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 2 4 4+ , srcInfoPoints = []+ }+ "@:")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 6 4 7+ , srcInfoPoints = []+ }+ "a")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 8 4 9+ , srcInfoPoints = []+ }+ "b")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 10 4 13+ , srcInfoPoints = [ SrcSpan "tests/examples/T326.hs" 4 10 4 11 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/T326.hs" 4 12 4 13+ , srcInfoPoints = []+ }+ "a"))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/T326.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/T326.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE TypeApplications #-}+module T326 where+(@:) a b = a
+ tests/examples/THTypedSplices.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH++import THTypedSplices.Defs++main = $$justTH ($$([e|| 2 ||]))
+ tests/examples/THTypedSplices.hs.exactprinter.golden view
@@ -0,0 +1,7 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH++import THTypedSplices.Defs++main = $$justTH ($$([|| 2 ||]))+
+ tests/examples/THTypedSplices.hs.parser.golden view
@@ -0,0 +1,177 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 1 1 7 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 7 1 7 1+ , SrcSpan "tests/examples/THTypedSplices.hs" 7 1 7 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 1 1 1 13+ , SrcSpan "tests/examples/THTypedSplices.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 2 1 2 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 2 8 2 27+ , srcInfoPoints = []+ }+ "Language.Haskell.TH"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ , ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 4 1 4 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 4 8 4 27+ , srcInfoPoints = []+ }+ "THTypedSplices.Defs"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 33+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 1 6 5+ , srcInfoPoints = []+ }+ "main"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 6 6 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 6 6 7 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 33+ , srcInfoPoints = []+ }+ (SpliceExp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 16+ , srcInfoPoints = []+ }+ (TIdSplice+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/THTypedSplices.hs" 6 8 6 16+ , srcInfoPoints = []+ }+ "justTH"))+ (Paren+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 17 6 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 17 6 18+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 32 6 33+ ]+ }+ (SpliceExp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 21+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 31 6 32+ ]+ }+ (TParenSplice+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 32+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 18 6 21+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 31 6 32+ ]+ }+ (BracketExp+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 25+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 28 6 31+ ]+ }+ (TExpBracket+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/THTypedSplices.hs" 6 21 6 25+ , SrcSpan "tests/examples/THTypedSplices.hs" 6 28 6 31+ ]+ }+ (Lit+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ (Int+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/THTypedSplices.hs" 6 26 6 27+ , srcInfoPoints = []+ }+ 2+ "2")))))))))+ Nothing+ ]+ , []+ )
+ tests/examples/THTypedSplices.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/THTypedSplices.hs.prettyprinter.golden view
@@ -0,0 +1,4 @@+{-# LANGUAGE TemplateHaskell #-}+import Language.Haskell.TH+import THTypedSplices.Defs+main = $$justTH ($$( [|| 2 ||] ))
+ tests/examples/TemplateHaskellQuotedNames.hs view
@@ -0,0 +1,3 @@+{-# LANGUAGE TemplateHaskell #-}+f = g 'Constructor 'function+h = g '() '[]
+ tests/examples/TemplateHaskellQuotedNames.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TemplateHaskellQuotedNames.hs.parser.golden view
@@ -0,0 +1,246 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 4 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 1 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 4 1 4 1+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 4 1 4 1+ ]+ }+ Nothing+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 1 1 13+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "TemplateHaskell"+ ]+ ]+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 29+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 1 2 2+ , srcInfoPoints = []+ }+ "f"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 3 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 3 2 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 29+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 19+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 5 2 6+ , srcInfoPoints = []+ }+ "g")))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 7 2 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 7 2 8 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 8 2 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 8 2 19+ , srcInfoPoints = []+ }+ "Constructor"))))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 20 2 29+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 20 2 21+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 21 2 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 2 21 2 29+ , srcInfoPoints = []+ }+ "function")))))+ Nothing+ , PatBind+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 14+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 1 3 2+ , srcInfoPoints = []+ }+ "h"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 3 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 3 3 4 ]+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 14+ , srcInfoPoints = []+ }+ (App+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 10+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 5 3 6+ , srcInfoPoints = []+ }+ "g")))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 7 3 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 7 3 8 ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 9+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 9 3 10+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 10+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 8 3 9+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 9 3 10+ ]+ }))))+ (VarQuote+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 11 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 11 3 12+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 13+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 13 3 14+ ]+ }+ (ListCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 14+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 12 3 13+ , SrcSpan "tests/examples/TemplateHaskellQuotedNames.hs" 3 13 3 14+ ]+ })))))+ Nothing+ ]+ , []+ )
+ tests/examples/TemplateHaskellQuotedNames.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/TemplateHaskellQuotedNames.hs.prettyprinter.golden view
@@ -0,0 +1,3 @@+{-# LANGUAGE TemplateHaskell #-}+f = g 'Constructor 'function+h = g '() '[]
tests/examples/TypeEqualityParen.hs.parser.golden view
@@ -67,39 +67,50 @@ , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 26 2 28 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 12 , srcInfoPoints = [] }- "Eq"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12- , srcInfoPoints = []- }- "a")- ]+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 8 2 10+ , srcInfoPoints = []+ }+ "Eq")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 11 2 12+ , srcInfoPoints = []+ }+ "a"))) , ParenA SrcSpanInfo { srcInfoSpan =@@ -109,45 +120,52 @@ , SrcSpan "tests/examples/TypeEqualityParen.hs" 2 22 2 23 ] }- (EqualP+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 22 , srcInfoPoints = [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 17 2 18 ] }- (TyVar+ (TyEquals SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16- , srcInfoPoints = []+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 17 2 18 ] }- (Ident+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16 , srcInfoPoints = [] }- "a"))- (TyCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22- , srcInfoPoints = []- }- (UnQual+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 15 2 16+ , srcInfoPoints = []+ }+ "a"))+ (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22 , srcInfoPoints = [] }- (Ident+ (UnQual SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22 , srcInfoPoints = [] }- "Int"))))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeEqualityParen.hs" 2 19 2 22+ , srcInfoPoints = []+ }+ "Int"))))) ])) (TyFun SrcSpanInfo
tests/examples/TypeFunctions.hs.parser.golden view
@@ -126,18 +126,18 @@ , srcInfoPoints = [] } "f")- (KindFn+ (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 23 5 29 , srcInfoPoints = [ SrcSpan "tests/examples/TypeFunctions.hs" 5 25 5 27 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 23 5 24 , srcInfoPoints = [] })- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 28 5 29 , srcInfoPoints = []@@ -160,7 +160,7 @@ , srcInfoPoints = [ SrcSpan "tests/examples/TypeFunctions.hs" 5 33 5 35 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 36 5 37 , srcInfoPoints = []
tests/examples/TypeInstances.hs.parser.golden view
@@ -111,7 +111,7 @@ , srcInfoPoints = [ SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 16 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 17 4 18 , srcInfoPoints = []@@ -237,7 +237,7 @@ , srcInfoPoints = [ SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 19 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 20 7 21 , srcInfoPoints = []
tests/examples/TypeOperatorsTest.hs.parser.golden view
@@ -79,54 +79,67 @@ , srcInfoPoints = [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22 , srcInfoPoints = [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14- , srcInfoPoints = []+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14- , srcInfoPoints = []+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 22+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 20 3 22 ] }- "ArrowXml"))- [ TyCon- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16- , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18- , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19- ]- }- (UnQual- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19- , srcInfoPoints =- [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16- , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18- , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19- ]- }- (Symbol- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18- , srcInfoPoints = []- }- "~>"))- ])))+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 6 3 14+ , srcInfoPoints = []+ }+ "ArrowXml")))+ (TyCon+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19+ ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 19+ , srcInfoPoints =+ [ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 15 3 16+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+ , SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 18 3 19+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/TypeOperatorsTest.hs" 3 16 3 18+ , srcInfoPoints = []+ }+ "~>"))))))) (TyInfix SrcSpanInfo { srcInfoSpan =
tests/examples/Unicode.hs.parser.golden view
@@ -3748,62 +3748,80 @@ , SrcSpan "tests/examples/Unicode.hs" 74 28 74 29 ] }- [ ClassA+ [ TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 19 , srcInfoPoints = [] }- "Num"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19- , srcInfoPoints = []- }- "a")- ]- , ClassA+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 14 74 17+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 18 74 19+ , srcInfoPoints = []+ }+ "a")))+ , TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26 , srcInfoPoints = [] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26 , srcInfoPoints = [] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 26 , srcInfoPoints = [] }- "Ord"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26- , srcInfoPoints = []- }- "a")- ]+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 21 74 24+ , srcInfoPoints = []+ }+ "Ord")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Unicode.hs" 74 25 74 26+ , srcInfoPoints = []+ }+ "a"))) ])) (TyFun SrcSpanInfo
+ tests/examples/UnicodeIdents.hs view
@@ -0,0 +1,2 @@+猫 = ()+自乗 x = x * x
+ tests/examples/UnicodeIdents.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeIdents.hs.parser.golden view
@@ -0,0 +1,155 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 3 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 3 1 3 1+ , SrcSpan "tests/examples/UnicodeIdents.hs" 3 1 3 1+ ]+ }+ Nothing+ []+ []+ [ PatBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 7+ , srcInfoPoints = []+ }+ (PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 2+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 1 1 2+ , srcInfoPoints = []+ }+ "\29483"))+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 3 1 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 3 1 4 ]+ }+ (Con+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+ ]+ }+ (Special+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+ ]+ }+ (UnitCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 7+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 1 5 1 6+ , SrcSpan "tests/examples/UnicodeIdents.hs" 1 6 1 7+ ]+ }))))+ Nothing+ , FunBind+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 13+ , srcInfoPoints = []+ }+ [ Match+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 1 2 3+ , srcInfoPoints = []+ }+ "\33258\20055")+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 4 2 5+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 4 2 5+ , srcInfoPoints = []+ }+ "x")+ ]+ (UnGuardedRhs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 6 2 13+ , srcInfoPoints =+ [ SrcSpan "tests/examples/UnicodeIdents.hs" 2 6 2 7 ]+ }+ (InfixApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 13+ , srcInfoPoints = []+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 8 2 9+ , srcInfoPoints = []+ }+ "x")))+ (QVarOp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 10 2 11+ , srcInfoPoints = []+ }+ "*")))+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/UnicodeIdents.hs" 2 12 2 13+ , srcInfoPoints = []+ }+ "x")))))+ Nothing+ ]+ ]+ , []+ )
+ tests/examples/UnicodeIdents.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/UnicodeIdents.hs.prettyprinter.golden view
@@ -0,0 +1,2 @@++ = ()+êW x = x * x
tests/examples/Unpack.hs.parser.golden view
@@ -101,6 +101,8 @@ } "CmmEntry") Nothing+ Nothing+ Nothing (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 55
tests/examples/Vta1.hs.parser.golden view
@@ -3152,34 +3152,43 @@ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30 , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30 , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ] }- (Ident+ (TyCon SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30+ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 25+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27 , srcInfoPoints = [] }- "Num"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 26 55 27+ , srcInfoPoints = []+ }+ "a")))))) (TyForall SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 31 55 52@@ -3418,40 +3427,54 @@ , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 26 58 34 , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ] }- (UnQual+ (TyApp SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/Vta1.hs" 58 26 58 29- , srcInfoPoints = []+ SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/Vta1.hs" 58 26 58 29+ SrcSpan "tests/examples/Vta1.hs" 58 26 58 34+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 26 58 29+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan+ "tests/examples/Vta1.hs" 58 26 58 29+ , srcInfoPoints = []+ }+ "Num")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 30 58 31 , srcInfoPoints = [] }- "Num"))- [ TyVar- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/Vta1.hs" 58 30 58 31- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/Vta1.hs" 58 30 58 31- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 58 30 58 31+ , srcInfoPoints = []+ }+ "a")))))) (TyForall SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 35 58 56@@ -3745,17 +3768,17 @@ , srcInfoPoints = [] } "a")- (KindFn+ (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 18 61 24 , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 61 20 61 22 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 18 61 19 , srcInfoPoints = [] })- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 23 61 24 , srcInfoPoints = []@@ -3823,22 +3846,17 @@ , srcInfoPoints = [] } "a")- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 18 62 19 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 18 62 19 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 18 62 19- , srcInfoPoints = []- }- "k")))))+ "k")))) [ QualConDecl SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24@@ -3902,38 +3920,33 @@ , srcInfoPoints = [] } "a")- (KindFn+ (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 18 63 29 , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 20 63 22 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 18 63 19 , srcInfoPoints = [] })- (KindFn+ (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 29 , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 25 63 27 ] }- (KindVar+ (TyVar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 24 , srcInfoPoints = [] }- (UnQual+ (Ident SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 24 , srcInfoPoints = [] }- (Ident- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 24- , srcInfoPoints = []- }- "k")))- (KindStar+ "k"))+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 28 63 29 , srcInfoPoints = []@@ -4858,37 +4871,51 @@ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47 , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ] }- (ClassA+ (TypeA SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47 , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ] }- (UnQual+ (TyApp SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 42- , srcInfoPoints = []+ { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ] }- (Ident+ (TyCon SrcSpanInfo { srcInfoSpan =- SrcSpan "tests/examples/Vta1.hs" 85 38 85 42+ SrcSpan "tests/examples/Vta1.hs" 85 38 85 47+ , srcInfoPoints =+ [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 38 85 42+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 38 85 42+ , srcInfoPoints = []+ }+ "Show")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 43 85 44 , srcInfoPoints = [] }- "Show"))- [ TyVar- SrcSpanInfo- { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 43 85 44- , srcInfoPoints = []- }- (Ident- SrcSpanInfo- { srcInfoSpan =- SrcSpan "tests/examples/Vta1.hs" 85 43 85 44- , srcInfoPoints = []- }- "a")- ])))+ (Ident+ SrcSpanInfo+ { srcInfoSpan =+ SrcSpan "tests/examples/Vta1.hs" 85 43 85 44+ , srcInfoPoints = []+ }+ "a")))))) (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 59@@ -5104,17 +5131,17 @@ , srcInfoPoints = [] } "a")- (KindFn+ (TyFun SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 22 91 28 , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 24 91 26 ] }- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 22 91 23 , srcInfoPoints = [] })- (KindStar+ (TyStar SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 27 91 28 , srcInfoPoints = []
tests/examples/completesig01.hs.parser.golden view
@@ -101,6 +101,7 @@ Nothing Nothing Nothing+ Nothing (TyCon SrcSpanInfo { srcInfoSpan = SrcSpan "tests/examples/completesig01.hs" 6 16 6 18
− tests/examples/t402.hs
@@ -1,13 +0,0 @@-{-# LANGUAGE TypeFamilies #-}-{-# LANGUAGE GADTs #-}-{-# LANGUAGE TypeOperators #-}-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE TypeInType #-}-module Test where--import Data.Singletons.Prelude-import Data.Singletons.TypeLits-import Data.Type.Equality ((:~:) (..), (:~~:) (..))--data instance Sing (z :: (a :~: b)) where- SRefl :: Sing Refl
+ tests/examples/t403.hs view
@@ -0,0 +1,9 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE DataKinds #-}+module T403 where++pattern (:&&:) :: () => forall k. ((k :+ 1) ~ n) => a -> HoHeList k a -> HoHeList n a+pattern (:&&:) x rest <- (matchNext -> Right (x, Refl, rest))
+ tests/examples/t403.hs.exactprinter.golden view
@@ -0,0 +1,10 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE DataKinds #-}+module T403 where++pattern (:&&:) :: () => ((k :+ 1) ~ n) => a -> HoHeList k a -> HoHeList n a+pattern ((:&&:))xrest <- (matchNext -> Right (x, Refl, rest))+
+ tests/examples/t403.hs.parser.golden view
@@ -0,0 +1,520 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 1 1 10 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 1 1 1 1+ , SrcSpan "tests/examples/t403.hs" 2 1 2 1+ , SrcSpan "tests/examples/t403.hs" 3 1 3 1+ , SrcSpan "tests/examples/t403.hs" 4 1 4 1+ , SrcSpan "tests/examples/t403.hs" 5 1 5 1+ , SrcSpan "tests/examples/t403.hs" 6 1 6 1+ , SrcSpan "tests/examples/t403.hs" 6 1 6 1+ , SrcSpan "tests/examples/t403.hs" 8 1 8 1+ , SrcSpan "tests/examples/t403.hs" 9 1 9 1+ , SrcSpan "tests/examples/t403.hs" 10 1 10 1+ , SrcSpan "tests/examples/t403.hs" 10 1 10 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 6 1 6 18+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 6 1 6 7+ , SrcSpan "tests/examples/t403.hs" 6 13 6 18+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 6 8 6 12+ , srcInfoPoints = []+ }+ "T403")+ Nothing+ Nothing))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 1 1 1 33+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 1 1 1 13+ , SrcSpan "tests/examples/t403.hs" 1 30 1 33+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 1 14 1 29+ , srcInfoPoints = []+ }+ "PatternSynonyms"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 2 1 2 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 2 1 2 13+ , SrcSpan "tests/examples/t403.hs" 2 25 2 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 2 14 2 24+ , srcInfoPoints = []+ }+ "RankNTypes"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 3 1 3 30+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 3 1 3 13+ , SrcSpan "tests/examples/t403.hs" 3 27 3 30+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 3 14 3 26+ , srcInfoPoints = []+ }+ "ViewPatterns"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 4 1 4 31+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 4 1 4 13+ , SrcSpan "tests/examples/t403.hs" 4 28 4 31+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 4 14 4 27+ , srcInfoPoints = []+ }+ "TypeOperators"+ ]+ , LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 5 1 5 27+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 5 1 5 13+ , SrcSpan "tests/examples/t403.hs" 5 24 5 27+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 5 14 5 23+ , srcInfoPoints = []+ }+ "DataKinds"+ ]+ ]+ []+ [ PatSynSig+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 1 8 86+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 1 8 8+ , SrcSpan "tests/examples/t403.hs" 8 16 8 18+ ]+ }+ [ Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 9 8 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 9 8 10+ , SrcSpan "tests/examples/t403.hs" 8 10 8 14+ , SrcSpan "tests/examples/t403.hs" 8 14 8 15+ ]+ }+ ":&&:"+ ]+ Nothing+ (Just+ (CxEmpty+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 19 8 24+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 19 8 20+ , SrcSpan "tests/examples/t403.hs" 8 20 8 21+ , SrcSpan "tests/examples/t403.hs" 8 22 8 24+ ]+ }))+ (Just+ [ UnkindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 32 8 33+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 32 8 33+ , srcInfoPoints = []+ }+ "k")+ ])+ (Just+ (CxSingle+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 35 8 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 35 8 36+ , SrcSpan "tests/examples/t403.hs" 8 48 8 49+ , SrcSpan "tests/examples/t403.hs" 8 50 8 52+ ]+ }+ (ParenA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 35 8 52+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 35 8 36+ , SrcSpan "tests/examples/t403.hs" 8 48 8 49+ , SrcSpan "tests/examples/t403.hs" 8 50 8 52+ ]+ }+ (TypeA+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 48+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 45 8 46 ]+ }+ (TyEquals+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 48+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 45 8 46 ]+ }+ (TyParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 36 8 44+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 8 36 8 37+ , SrcSpan "tests/examples/t403.hs" 8 43 8 44+ ]+ }+ (TyInfix+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 43+ , srcInfoPoints = []+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 38+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 37 8 38+ , srcInfoPoints = []+ }+ "k"))+ (UnpromotedName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+ , srcInfoPoints = []+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 39 8 41+ , srcInfoPoints = []+ }+ ":+")))+ (TyPromoted+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 42 8 43+ , srcInfoPoints = []+ }+ (PromotedInteger+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 42 8 43+ , srcInfoPoints = []+ }+ 1+ "1"))))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 47 8 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 47 8 48+ , srcInfoPoints = []+ }+ "n")))))))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 86+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 55 8 57 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 53 8 54+ , srcInfoPoints = []+ }+ "a"))+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 86+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 8 71 8 73 ]+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 70+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 68+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 66+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 66+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 58 8 66+ , srcInfoPoints = []+ }+ "HoHeList")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 67 8 68+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 67 8 68+ , srcInfoPoints = []+ }+ "k")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 69 8 70+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 69 8 70+ , srcInfoPoints = []+ }+ "a")))+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 86+ , srcInfoPoints = []+ }+ (TyApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 84+ , srcInfoPoints = []+ }+ (TyCon+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 82+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 82+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 74 8 82+ , srcInfoPoints = []+ }+ "HoHeList")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 83 8 84+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 83 8 84+ , srcInfoPoints = []+ }+ "n")))+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 85 8 86+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 8 85 8 86+ , srcInfoPoints = []+ }+ "a")))))+ , PatSyn+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 1 9 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 1 9 8+ , SrcSpan "tests/examples/t403.hs" 9 23 9 25+ ]+ }+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 9 9 22+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 9 9 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 9 9 10+ , SrcSpan "tests/examples/t403.hs" 9 10 9 14+ , SrcSpan "tests/examples/t403.hs" 9 14 9 15+ ]+ }+ (Symbol+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 9 9 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 9 9 10+ , SrcSpan "tests/examples/t403.hs" 9 10 9 14+ , SrcSpan "tests/examples/t403.hs" 9 14 9 15+ ]+ }+ ":&&:"))+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 16 9 17+ , srcInfoPoints = []+ }+ "x")+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 18 9 22+ , srcInfoPoints = []+ }+ "rest")+ ])+ (PParen+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 26 9 62+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 26 9 27+ , SrcSpan "tests/examples/t403.hs" 9 61 9 62+ ]+ }+ (PViewPat+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 61+ , srcInfoPoints = [ SrcSpan "tests/examples/t403.hs" 9 37 9 39 ]+ }+ (Var+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 36+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 36+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 27 9 36+ , srcInfoPoints = []+ }+ "matchNext")))+ (PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 40 9 61+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 40 9 45+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 40 9 45+ , srcInfoPoints = []+ }+ "Right"))+ [ PTuple+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 46 9 61+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t403.hs" 9 46 9 47+ , SrcSpan "tests/examples/t403.hs" 9 48 9 49+ , SrcSpan "tests/examples/t403.hs" 9 54 9 55+ , SrcSpan "tests/examples/t403.hs" 9 60 9 61+ ]+ }+ Boxed+ [ PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 47 9 48+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 47 9 48+ , srcInfoPoints = []+ }+ "x")+ , PApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 50 9 54+ , srcInfoPoints = []+ }+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 50 9 54+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 50 9 54+ , srcInfoPoints = []+ }+ "Refl"))+ []+ , PVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 56 9 60+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t403.hs" 9 56 9 60+ , srcInfoPoints = []+ }+ "rest")+ ]+ ])))+ Unidirectional+ ]+ , []+ )
+ tests/examples/t403.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/t403.hs.prettyprinter.golden view
@@ -0,0 +1,11 @@+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE ViewPatterns #-}+{-# LANGUAGE TypeOperators #-}+{-# LANGUAGE DataKinds #-}+module T403 where++pattern (:&&:) :: () => forall k . ((k :+ 1) ~ n) =>+ a -> HoHeList k a -> HoHeList n a++pattern (:&&:) x rest <- (matchNext -> Right (x, Refl, rest))
+ tests/examples/t412.hs view
@@ -0,0 +1,8 @@+{-# LANGUAGE TypeInType #-}++module Typeintype+ ( App ) where++import Data.Kind++data App (f :: k -> *)
+ tests/examples/t412.hs.exactprinter.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/t412.hs.parser.golden view
@@ -0,0 +1,166 @@+ParseOk+ ( Module+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 1 1 9 1+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 1 1 1 1+ , SrcSpan "tests/examples/t412.hs" 3 1 3 1+ , SrcSpan "tests/examples/t412.hs" 3 1 3 1+ , SrcSpan "tests/examples/t412.hs" 6 1 6 1+ , SrcSpan "tests/examples/t412.hs" 8 1 8 1+ , SrcSpan "tests/examples/t412.hs" 9 1 9 1+ , SrcSpan "tests/examples/t412.hs" 9 1 9 1+ ]+ }+ (Just+ (ModuleHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 3 1 4 21+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 3 1 3 7+ , SrcSpan "tests/examples/t412.hs" 4 16 4 21+ ]+ }+ (ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 3 8 3 18+ , srcInfoPoints = []+ }+ "Typeintype")+ Nothing+ (Just+ (ExportSpecList+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 8 4 15+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 4 8 4 9+ , SrcSpan "tests/examples/t412.hs" 4 14 4 15+ ]+ }+ [ EAbs+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+ , srcInfoPoints = []+ }+ (NoNamespace+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+ , srcInfoPoints = []+ })+ (UnQual+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 4 10 4 13+ , srcInfoPoints = []+ }+ "App"))+ ]))))+ [ LanguagePragma+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 1 1 1 28+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 1 1 1 13+ , SrcSpan "tests/examples/t412.hs" 1 25 1 28+ ]+ }+ [ Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 1 14 1 24+ , srcInfoPoints = []+ }+ "TypeInType"+ ]+ ]+ [ ImportDecl+ { importAnn =+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 6 1 6 17+ , srcInfoPoints = [ SrcSpan "tests/examples/t412.hs" 6 1 6 7 ]+ }+ , importModule =+ ModuleName+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 6 8 6 17+ , srcInfoPoints = []+ }+ "Data.Kind"+ , importQualified = False+ , importSrc = False+ , importSafe = False+ , importPkg = Nothing+ , importAs = Nothing+ , importSpecs = Nothing+ }+ ]+ [ DataDecl+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 1 8 5+ , srcInfoPoints = []+ }+ (DataType+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 1 8 5+ , srcInfoPoints = []+ })+ Nothing+ (DHApp+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 6 8 23+ , srcInfoPoints = []+ }+ (DHead+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 6 8 9+ , srcInfoPoints = []+ }+ "App"))+ (KindedVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 10 8 23+ , srcInfoPoints =+ [ SrcSpan "tests/examples/t412.hs" 8 10 8 11+ , SrcSpan "tests/examples/t412.hs" 8 13 8 15+ , SrcSpan "tests/examples/t412.hs" 8 22 8 23+ ]+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 11 8 12+ , srcInfoPoints = []+ }+ "f")+ (TyFun+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 16 8 22+ , srcInfoPoints = [ SrcSpan "tests/examples/t412.hs" 8 18 8 20 ]+ }+ (TyVar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 16 8 17+ , srcInfoPoints = []+ }+ (Ident+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 16 8 17+ , srcInfoPoints = []+ }+ "k"))+ (TyStar+ SrcSpanInfo+ { srcInfoSpan = SrcSpan "tests/examples/t412.hs" 8 21 8 22+ , srcInfoPoints = []+ }))))+ []+ []+ ]+ , []+ )
+ tests/examples/t412.hs.prettyparser.golden view
@@ -0,0 +1,1 @@+Match
+ tests/examples/t412.hs.prettyprinter.golden view
@@ -0,0 +1,5 @@+{-# LANGUAGE TypeInType #-}+module Typeintype (App) where+import Data.Kind++data App (f :: k -> *)